Naar de hoofdinhoud

Toestemming delen tussen verschillende domeinen

Vermijd het opnieuw vragen van toestemming aan een bezoeker die van de ene naar de andere site gaat, door het token in uw koppelingen door te geven en dezelfde configuratie overal in te laden.

Geschreven door Manon Manso

Wanneer een bezoeker zijn keuze maakt in uw banner, wordt zijn toestemming opgeslagen met een anonieme identificatie: het token. Door dit token in koppelingen tussen uw sites door te geven via de parameter axeptio_token, vindt de doelsite de keuze van de bezoeker en wordt de banner niet een tweede keer weergegeven. U kunt toestemming delen tussen twee of meer sites.

Wat deze gedeeldheid mogelijk maakt
De toestemming volgt de bezoeker wanneer hij van een van uw sites naar een ander gaat door op een koppeling te klikken. Dit is geen uniforme toestemming voor al uw sites: een bezoeker die rechtstreeks op een van uw sites terechtkomt (via een zoekmachine, een advertentie of door het adres in te typen) ziet de banner, zelfs als hij zijn keuze al op een ander van uw sites heeft gemaakt.

👉 In dit artikel nemen we als voorbeeld twee sites: maboutique.com en monblog.com. De werking is hetzelfde met drie of meer sites.
Voor een hoofddomein en de subdomeinen ervan (maboutique.com, aide.maboutique.com…), raadpleeg in plaats daarvan Toestemming delen tussen hoofddomein en subdomeinen.

Vereisten: dezelfde configuratie op al uw sites

De toestemming is gekoppeld aan een configuratie. Om gedeeld te worden, moeten al uw sites hetzelfde project en dezelfde configuratie laden, dat wil zeggen dezelfde cookies-versie: dezelfde technische naam aangegeven in de parameter cookiesVersion van uw integratie.

Het gebruik van hetzelfde project is niet voldoende. Twee verschillende configuraties van hetzelfde project delen geen toestemming, zelfs niet als de ene is gemaakt door de andere te dupliceren of te vertalen.

Op uw sites

Resultaat wanneer de bezoeker op een ander van uw sites terechtkomt

Hetzelfde project, dezelfde configuratie

De toestemming wordt overgenomen: de banner wordt niet weergegeven.

Hetzelfde project, verschillende configuraties

Het token wordt doorgestuurd, maar de toestemming wordt niet gevonden: de banner wordt opnieuw weergegeven.

Verschillende projecten

De banner wordt opnieuw weergegeven.

Gevolg: uw bezoekers zien dezelfde banner, met hetzelfde ontwerp en dezelfde teksten, op al de sites die toestemming delen.

Het delen van toestemming instellen

  1. Kies de configuratie die gemeenschappelijk is voor al uw sites.

  2. In deze configuratie voegt u alle services toe die op al de betrokken sites worden gebruikt, en niet alleen op één ervan.

  3. Integreer Axeptio op elk van uw sites, met dezelfde projectidentificatie en dezelfde cookies-versie.

  4. Op elk van uw sites voegt u de onderstaande code toe en geeft u in sharedConsentDomains de domeinen van al uw sites aan, inclusief dat waarop u de code toevoegt, zonder https:// of www. De lijst is hetzelfde op elke site.

Code om toe te voegen:

<script>
// Partage du consentement Axeptio entre vos sites.
// Ajoutez ce code sur chacun des sites listés ci-dessous.
window._axcb = window._axcb || [];
window._axcb.push(function (axeptio) {
// Attend que le visiteur ait fait son choix dans le bandeau
axeptio.on("cookies:complete", function () {
// À MODIFIER : les domaines de tous vos sites, y compris celui-ci,
// sans https:// ni www. La liste est la même sur chaque site.
// Leurs sous-domaines (www, fr, blog…) sont inclus automatiquement.
var sharedConsentDomains = [
"maboutique.com",
"monblog.com"
];

// Renvoie le domaine de la liste auquel appartient une adresse, ou null
function findSharedDomain(hostname) {
return sharedConsentDomains.find(function (domain) {
return hostname === domain || hostname.endsWith("." + domain);
}) || null;
}

// Page hors de la liste : aucun lien n'est modifié
var currentDomain = findSharedDomain(window.location.hostname);
if (!currentDomain) {
return;
}

document.querySelectorAll("a[href]").forEach(function (link) {
var url;
try {
url = new URL(link.href);
} catch (e) {
return; // Adresse illisible : ce lien est ignoré
}
// Seuls les liens vers des pages web sont traités (pas mailto:, tel:…)
if (url.protocol !== "http:" && url.protocol !== "https:") {
return;
}
// Ajoute le token du visiteur aux liens vers un autre site de la liste
var targetDomain = findSharedDomain(url.hostname);
if (targetDomain && targetDomain !== currentDomain) {
url.searchParams.set("axeptio_token", axeptio.getToken());
link.href = url.href;
}
});
});
});
</script>

Nadat de bezoeker zijn keuze heeft gemaakt, voegt deze code zijn token toe aan koppelingen die naar een ander domein in de lijst leiden, of naar een van de subdomeinen ervan. Andere koppelingen worden niet gewijzigd. Een koppeling naar monblog.com wordt bijvoorbeeld:

<a href="https://www.monblog.com/?axeptio_token=TOKEN_DU_VISITEUR">

TOKEN_DU_VISITEUR wordt vervangen door het token van de bezoeker, automatisch toegevoegd door de code.

Als u meer dan twee sites hebt, voegt u het domein van elk ervan toe aan sharedConsentDomains, en voegt u deze code, met dezelfde lijst, op elk ervan toe. Bijvoorbeeld met een derde site monforum.com:

var sharedConsentDomains = [
"maboutique.com",
"monblog.com",
"monforum.com"
];

Wat deze code stap voor stap doet

  1. Het wacht tot de bezoeker zijn keuze in de banner heeft gemaakt: accepteren, weigeren of aanpassen. Daarvoor wijzigt het niets.

  2. Het leest de lijst met uw sites, sharedConsentDomains. Elk domein in de lijst omvat de subdomeinen ervan: www.monblog.com en fr.monblog.com tellen mee als monblog.com.

  3. Het zoekt in de lijst naar de site waarop het zich bevindt. Wenn het deze niet vindt, stopt het zonder koppelingen te wijzigen: daarom moet de lijst al uw sites bevatten, inclusief die waarop de code is geïnstalleerd.

  4. Het gaat alle koppelingen op de pagina door. Een koppeling die naar een ander domein in de lijst leidt, ontvangt de parameter axeptio_token met het token van de bezoeker. Andere koppelingen blijven ongewijzigd: koppelingen naar dezelfde site, naar een site die niet in de lijst staat (Google, Facebook…), koppelingen mailto: of tel:, onleesbare adressen.

De code wijzigt alleen koppelingen die op de pagina aanwezig zijn op het moment dat de bezoeker zijn keuze maakt. Een koppeling die later verschijnt, bijvoorbeeld in een menu dat later wordt geladen, ontvangt het token niet.

Verwacht resultaat

Wanneer een bezoeker zijn keuze op maboutique.com maakt en vervolgens op een koppeling naar monblog.com klikt, leest de Axeptio SDK het token in de URL en vindt zijn keuze: de banner wordt niet weergegeven op monblog.com. Het delen werkt tussen alle sites in de lijst, in alle richtingen, omdat de code op elk ervan aanwezig is.

Als uw sites meertalig zijn

Maak een configuratie per taal aan en laad dezelfde configuratie voor een bepaalde taal op al uw sites: bijvoorbeeld de Franse configuratie op de Franse versies van maboutique.com en monblog.com. Elk van deze configuraties declareert alle services die op al uw sites worden gebruikt.

De koppelingen van de ene site naar de andere moeten naar dezelfde taal leiden. Als een koppeling van de Franse versie van maboutique.com naar de Spaanse versie van monblog.com leidt, laden beide pagina's verschillende configuraties: de banner wordt opnieuw weergegeven.

Op dezelfde site zorgt het wisselen van taal (bijvoorbeeld van /fr naar /es) niet voor het opnieuw verschijnen van de banner wanneer de configuraties van deze talen dezelfde services declareert: de keuze van de bezoeker wordt opnieuw gelezen uit de cookie van zijn browser.

Om de juiste configuratie in te laden op basis van de taal van de pagina, raadpleeg Pas uw banner aan naar de versies van uw site: inleiding.

Was dit een antwoord op uw vraag?