Fiche technique
Ce que l'extension écrit, quand elle l'écrit, selon quelles règles, et ce qu'on peut brancher dessus.
Prérequis
| Élément | Exigence | Remarque |
|---|---|---|
| WordPress | 6.0 ou plus | Éprouvé jusqu'à 7.1 |
| WooCommerce | 8.0 ou plus | Éprouvé jusqu'à 10.9 |
| PHP | 8.0 ou plus | Recette jouée sur 8.0, 8.2, 8.3 et 8.4 |
| Stockage des commandes | HPOS ou wp_posts | Les deux, avec des comptages identiques |
| Multilingue | WPML compatible | Les valeurs sont stockées en anglais, traduites à l'affichage |
| Multidevise | oui | La devise est lue sur chaque commande, jamais supposée |
| Capacité requise | manage_woocommerce | Contrôlée à l'enregistrement du menu et au rendu |
Aucune valeur n'est codée en dur dans le fichier. L'extension s'installe sur n'importe quelle boutique sans qu'une ligne soit touchée. Seul le libellé de l'action de conversion doit être renseigné avant le premier export.
Capture
| Point d'accroche | Rôle |
|---|---|
woocommerce_checkout_order_created | Capture au checkout classique, priorité 5 |
woocommerce_store_api_checkout_order_processed | Capture au checkout par blocs |
woocommerce_thankyou | Second relevé, pour un consentement donné en cours de parcours |
| Méta | Contenu |
|---|---|
_neant_gcl_aw | Cookie _gcl_aw brut, forme GCL.<horodatage>.<gclid> |
_neant_gcl_gb | Cookie _gcl_gb — trafic iOS, gbraid |
_neant_gcl_au | yes / no |
_neant_consent | yes, no, unknown, undetected |
_neant_ty_gcl_aw, _neant_ty_consent | Relevé de la page de remerciement |
_neant_gads_exported_at, …_export_batch | Horodatage et lot d'export |
_neant_gads_adjusted_at, …_adjust_batch, …_adjust_type | Ajustement émis |
La capture écrit même quand aucun cookie n'est présent. Une commande sans
_neant_consent signifie « la capture n'a pas tourné » ; une commande au
_neant_gcl_aw vide signifie « pas de clic Ads ». Confondre les deux rendrait une
collecte interrompue indiscernable d'un mois sans trafic Ads.
Règles
Une commande part si toutes les conditions sont vérifiées.
| Réf. | Condition | Motif si non tenue |
|---|---|---|
| E0 | La capture a tourné | capture absente |
| E1 | Identifiant de clic présent et parsable | gclid absent |
| E2 | Identifiant non déjà retenu dans le lot | doublon de #… |
| E3 | Statut dans la liste configurée | statut … exclu |
| E4 | Montant strictement positif | valeur nulle |
| E5a | Commande dans la fenêtre suivant le clic | commande hors fenêtre du clic |
| E5b | Clic encore importable aujourd'hui | clic de plus de 90 jours |
| E6 | Pas déjà exportée | déjà exporté le … |
E2 se juge parmi les commandes par ailleurs exportables. Si la plus ancienne des deux partageant un identifiant est annulée, la suivante prend sa place — sinon la conversion se perdrait entre les deux. À date égale, l'identifiant de commande tranche, pour que deux exports du même lot retiennent la même ligne.
Le consentement n'entre pas dans ces règles. Il est affiché, jamais appliqué.
| Réf. | Condition | Résultat |
|---|---|---|
| A1 | Conversion déjà exportée | sinon, rien à ajuster |
| A2 | Statut passé à cancelled, refunded, failed | RETRACT |
| A3 | Remboursement couvrant tout le montant | RETRACT, quel que soit le statut |
| A4 | Remboursement partiel | RESTATE sur le reste |
| A5 | Conversion de plus de 24 h | sinon trop récent |
| A6 | Conversion de moins de 54 jours | sinon hors fenêtre d'ajustement |
| A7 | Aucun ajustement déjà émis | sauf escalade RESTATE → RETRACT |
A7 n'autorise l'escalade que dans un sens. Un remboursement partiel suivi d'une annulation est courant, et s'arrêter au premier ajustement laisserait la conversion comptée pour le reste. L'inverse est impossible : Google est explicite, une conversion rétractée ne peut plus être ajustée.
Formats
Parameters:TimeZone=Europe/Brussels "Google Click ID","Conversion Name","Conversion Time","Conversion Value","Conversion Currency","Order ID" Cj0KCQjw…,Achat - import hors connexion,2026-07-31 07:46:18+02:00,335.00,EUR,66658
Order ID est facultative pour Google et décisive ici : c'est la clé recommandée
pour rattacher un ajustement ultérieur. Sans elle, une rétractation devrait s'appuyer sur le
couple identifiant + horodatage, que le moindre écart de fuseau désaligne.
"Order ID","Conversion Name","Adjustment Time","Adjustment Type","Adjusted Value","Adjusted Value Currency" 66658,Achat - import hors connexion,2026-09-12 14:22:03+02:00,RETRACT,, 66643,Achat - import hors connexion,2026-09-03 09:15:41+02:00,RESTATE,150.00,EUR
Ce fichier ne porte pas de ligne Parameters:TimeZone= : le fuseau
se déclare dans chaque Adjustment Time. Une rétractation laisse valeur et devise
vides — y écrire un zéro se lirait comme une réévaluation à zéro.
Les deux fenêtres diffèrent : 90 jours pour importer depuis le clic, 54 jours pour ajuster depuis la conversion, dont 7 pour que les enchères en tiennent compte. Une conversion importée tardivement peut naître irrétractable.
Consentement
L'état du consentement publicitaire est lu auprès de la bannière du site. Le premier adaptateur dont le cookie répond l'emporte.
| Plateforme | Signal | Lecture |
|---|---|---|
| CookieYes | cookieyes-consent | advertisement:yes / :no |
| Complianz | cmplz_marketing | allow / deny |
| Axeptio | axeptio_authorized_vendors | fournisseur publicitaire dans la liste |
| Borlabs Cookie | borlabs-cookie | catégorie marketing non vide |
undetected et no ne se confondent jamais. L'un dit
que la personne a refusé, l'autre que l'outil ne sait pas lire cette bannière. Les écraser
sur une même valeur produirait une colonne qui a l'air d'informer alors qu'elle ne fait que
constater sa propre cécité.
Points d'extension
| Filtre | Usage |
|---|---|
neant_gads_consent_adapters | Brancher un adaptateur maison. Placé en tête, il l'emporte sur ceux livrés. |
neant_gads_axeptio_ad_vendors | Adapter la nomenclature de fournisseurs Axeptio du site. |
neant_gads_root_menu_label | Renommer l'entrée racine du menu d'administration. |
| Élément | Valeur |
|---|---|
| Route | /wp-json/neant-gads/v1/adjustments.csv |
| Authentification | Basic, comparaison à temps constant |
| Transport | HTTPS obligatoire, recontrôlé à chaque appel |
| Débit | 30 requêtes par heure et par adresse |
| Périmètre | Figé côté serveur, jamais pilotable par l'URL |
| Requête HEAD | Servie à blanc : elle ne consomme pas la file |
Les options et la tâche planifiée sont retirées. Aucune méta de commande n'est supprimée : elles sont la seule trace des conversions récupérables, et une désinstallation par erreur les rendrait définitivement irrécupérables. Le coût d'un résidu en base est nul ; celui d'une suppression ne l'est pas.