Optimisation du consentement : Axeptio en server-side
Introduction
Dans un environnement digital en constante évolution, la gestion du consentement utilisateur est essentielle pour assurer à la fois la conformité aux réglementations (RGPD, CCPA) et une expérience fluide pour les internautes. Jusqu’à présent, cette collecte se faisait en client-side, où les scripts Axeptio étaient exécutés directement dans le navigateur.
Cette approche présente toutefois plusieurs limites. Les AdBlockers bloquent souvent les scripts tiers, ce qui empêche l’affichage du bandeau de consentement. Certains navigateurs, comme Safari, réduisent la durée de vie des cookies à sept jours, ce qui impose de redemander régulièrement l’accord des utilisateurs.
Pour répondre à ces défis, Addingwell propose une intégration d’Axeptio en server-side. En déplaçant la gestion des cookies du navigateur vers le serveur et en chargeant les scripts Axeptio via un CDN en first-party, cette solution permet de contourner ces blocages et d’assurer une persistance du consentement bien plus longue. Cet article explore les limites des méthodes actuelles et détaille comment implémenter Axeptio server-side avec Addingwell.
Les solutions proposées
Option client-side et ses limites
L’approche traditionnelle repose sur un chargement direct des scripts Axeptio dans le navigateur. Ceux-ci sont récupérés depuis le domaine axept.io et affichent une popin de consentement. Une fois validé, les cookies sont déposés en JavaScript afin de mémoriser ce choix lors des visites suivantes.

Cette solution présente plusieurs inconvénients. Les bloqueurs de publicité et certaines politiques des navigateurs empêchent parfois le chargement des scripts Axeptio depuis un domaine tiers comme axept.io
. Lorsqu’un AdBlocker est activé, la popin ne s’affiche pas et l’utilisateur ne peut pas exprimer son consentement, ce qui entraîne un refus par défaut. De plus, Safari et d’autres navigateurs limite la durée des cookies à sept jours, ce qui oblige à redemander le consentement de manière répétitive.

Chargement d’Axeptio via un CDN first-party avec Addingwell
Pour contourner ces restrictions, Addingwell propose une alternative : héberger les scripts Axeptio via un CDN en first-party. En plaçant ces scripts sur un domaine de confiance, le risque d’interception par les bloqueurs de publicité est réduit. Cette approche permet d’assurer un affichage fiable de la popin de consentement et d’améliorer le taux d’acceptation.

Cependant, cette solution ne règle pas totalement le problème de la durée de vie limitée des cookies. Ceux-ci sont toujours posés en JavaScript et restent soumis aux restrictions des navigateurs.
Implémentation server-side avec client et tag Axeptio
L’intégration server-side constitue la solution la plus avancée pour garantir une collecte du consentement fiable et durable. Cette approche repose sur un client server-side qui intercepte les requêtes de consentement, ainsi qu’un tag Axeptio côté serveur qui gère le dépôt des cookies.

Grâce à cette architecture, les scripts Axeptio sont toujours chargés en first-party via le CDN Addingwell, mais la gestion des cookies est totalement déplacée vers le serveur. Cette méthode élimine les restrictions des navigateurs et assure une persistance du consentement bien au-delà de sept jours. Elle offre également une meilleure résistance aux AdBlockers, car les interactions liées au consentement ne sont plus visibles dans le navigateur.
Dans la prochaine section, nous détaillerons les étapes précises de mise en place d’Axeptio server-side avec Addingwell, afin de vous aider à configurer efficacement votre CMP server-side.
Mise en place d’Axeptio Server-Side
Configuration du client Axeptio
Téléchargez le client Axeptio ici .

Rendez-vous dans votre conteneur GTM Server, dans la section Templates > Client Templates, cliquez sur New.

Cliquez ensuite sur les 3 petits points en haut à droite, puis sur Import.

Sélectionnez ensuite le fichier template.tpl
que vous venez de télécharger puis cliquez sur Save.

Rendez-vous maintenant dans la section Clients de GTM Serveur pius cliquez sur New.

Sélectionnez ensuite le client Axeptio, précédemment importé.

Cliquez ensuite sur Save pour enregistrer le client, le nom Axeptio vous sera ensuite proposé, cliquez sur Save à nouveau.

Félicitations, le client Axeptio est maintenant installé dans votre conteneur GTM Serveur.

Nous allons maintenant passer à la configuration du tag Axeptio CMP toujours sur GTM Serveur.
Configuration du tag Axeptio CMP sur GTM Serveur
Téléchargez le tag serveur Axeptio CMP ici .

Rendez-vous dans votre conteneur GTM Server, dans la section Templates > Tag Templates, cliquez sur New.

Cliquez ensuite sur les 3 petits points en haut à droite, puis sur Import.

Sélectionnez ensuite le fichier template.tpl
que vous venez de télécharger puis cliquez sur Save.

Rendez-vous maintenant dans la section Tags de GTM Serveur pius cliquez sur New.

Sélectionnez ensuite le tag Axeptio CMP, précédemment importé.

Déclenchez le tag lorsque le client est égal à Axeptio.

Cliquez ensuite sur Save pour enregistrer le tag Axeptio CMP.

Félicitations, le tag Axeptio CMP est maintenant installé dans votre conteneur GTM Serveur. Nous allons maintenant passer à la configuration du tag Axeptio CMP sur GTM Web.
Charger Axeptio depuis Addingwell
Pour pouvoir contourner les ad-blockers, il est nécessaire de charger le script d’Axeptio depuis votre serveur de tagging Addingwell.
Rendez-vous sur Addingwell puis dans la section CDN. Cliquez ensuite sur Add another file.

Vous devez ensuite renseigner l’URL du SDK Axeptio.
https://static.axept.io/sdk.js

Renseignez ensuite le chemin d’accès à ce fichier. Vous pouvez par exemple mettre axpt.js
.

Sélectionner le cache de votre choix (par exemple 10 minutes) puis cliquez sur Save.
Vous pouvez contrôler la durée pendant laquelle le script d’Axeptio reste en cache dans le CDN avant d’envoyer une nouvelle requête pour obtenir la dernière version du script.
Réduire cette durée vous permet d’obtenir plus régulièrement la dernière version du script.
Augmenter cette durée améliore les performances pour vos utilisateurs, car vos fichiers sont plus susceptibles d’être servis directement depuis le cache. Une durée plus longue diminue le nombre de requêtes envoyées à Axeptio.

Vous pouvez maintenant accéder à ce fichier en appelant l’URL https://subdomain.domain.com/axpt.js
.

Configuration de la CMP Axeptio
Avec le tag Axeptio CMP
Dans votre conteneur GTM Web, dans la section Tags, cliquez sur New.
Dans la galerie, recherchez le tag Axeptio CMP.

Cliquez ensuite sur Add to workspace.

Rendez-vous dans la galerie GTM Web, ajoutez le tag Axeptio CMP.
Pour que ce tag communique correctement avec votre serveur, vous devez ajouter l’URL de votre serveur (exemple: https://subdomain.domain.com
) dans la section Server-side.

Dans la section Cookie settings, vous devez renseigner le champ User cookies domain avec votre domaine principal (exemple : domain.com
).

Ce tag doit être déclenché sur Consent Initilization - All Pages.
Pour modifier l’URL de chargement du script, vous devez modifier le modèle de la balise Axeptio CMP. Pour cela, rendez-vous dans Modèles sur dans votre conteneur GTM Web puis cliquez sur le modèle Axeptio CMP.

Le template editor s’ouvre, rendez-vous dans l’onglet Permissions puis dans la section Injects scripts.

Remplacez l’URL par l’URL de votre fichier Axeptio ajouté précédemment dans le CDN Addingwell. Dans notre exemple : https://subdomain.domain.com/axpt.js
. Cliquez ensuite sur Save.

Rendez-vous dans l’onglet code, scrollez tout en bas puis remplacez https://static.axept.io/sdk.js
par votre propre URL (https://subdomain.domain.com/axpt.js
). Cliquez ensuite sur Save.

Félicitations, vous avez terminé la configuration du tag Axeptio CMP.
En Javascript
Si vous n’utilisez pas le tag, voici l’équivalent en JavaScript.
<script>
window.axeptioSettings = {
clientId: "603a1qb689j987zx136324ha",
postConsentUrl: "https://subdomain.domain.com",
userCookiesDomain: "domain.com",
googleConsentMode: {
default: {
analytics_storage: "denied",
ad_storage: "denied",
ad_user_data: "denied",
ad_personalization: "denied",
wait_for_update: 500
}
}
};
(function(d, s) {
var t = d.getElementsByTagName(s)[0], e = d.createElement(s);
e.async = true; e.src = "https://subdomain.domain.com/axpt.js";
t.parentNode.insertBefore(e, t);
})(document, "script");
</script>
Tests et validation de l’implémentation
Preview GTM Server-Side
Pour pouvoir tester correctement en Preview il est nécessaire de mettre en place le header HTTP de preview (x-gtm-server-preview
) de GTM Server-Side dans votre container Addingwell.
Ce premier test en preview bien que nécessaire est un peu fastidieux à mettre en place, pour aller plus vite vous pouvez aussi publier votre conteneur serveur contenant le client Axeptio puis relancer votre preview.
Pour récupérer ce header, commencez par ouvrir votre preview sur GTM Serveur.

Cliquez ensuite sur les 3 petits points en haut à droite de la preview puis cliquez sur Send requests manually.

Copiez ensuite le header de preview.

Rendez-vous ensuite dans votre container Addingwell, dans la section Tagging Server.

Collez le token de preview puis cliquez sur Save.

Après 2 minutes, vous pouvez voir vos requêtes Axeptio consents
arriver sur votre serveur.
Pour voir ces requêtes arriver sur votre serveur, il est nécessaire d’interagir avec la bannière Axeptio.

Monitoring Addingwell
Tag Health
Dans le monitoring de votre container Addingwell (onglet Tag Health), vous pouvez voir les tags déclenchés par le client Axeptio et notamment le tag Axeptio.

En cliquant sur le tag Axeptio, vous pouvez voir sur quels événements il a été déclenché. Ce tag se déclenche uniquement sur des événements consents
.

Logs
Dans la section Logs de votre container Addingwell, vous pouvez voir le taux de succès des requêtes envoyées à Axeptio.

En cliquant sur le lien Logs, vous accédez à plus d’informations sur les requêtes Axeptio.

Pour plus de détails sur le monitoring Addingwell, consultez notre documentation sur le sujet.
Erreurs connues et solutions
Problème de requête CORS
Si vous obtenez des erreurs CORS, c’est très probablement parce que vous n’avez pas publié votre conteneur serveur.
Si vous ne souhaitez pas publier votre conteneur serveur pour tester l’implémentation, vous devez utiliser le header x-gtm-server-preview
comme expliqué ci-dessus.
Après la publication du conteneur serveur vous ne devriez plus voir cette erreur.