cookie 7 jours, * envoi navigateur vers l'endpoint image OpenAI, relais vers l'ingestion OCL * avec le meme event_id. AUCUNE PII ne transite par ce script. */ if ( ! defined( 'ABSPATH' ) ) { exit; } class Convrail_Pixel { /** * Categorie de consentement (WP Consent API). Suivi de conversion et attribution publicitaire: * c'est « marketing ». Cote Shopify, le meme arbitrage est declare dans * `extensions.customer_privacy` du web pixel, et c'est Shopify qui bloque le bac a sable. */ const CONSENT_CATEGORY = 'marketing'; /** Balise image a imprimer en pied de page pour les visiteurs sans JavaScript. Null sinon. */ private static $noscript_url = null; public static function init() { /* * En DERNIER sur wp_enqueue_scripts. Le plugin WP Consent API enregistre son script a * PHP_INT_MAX - 100: en passant a la priorite par defaut, le pixel etait imprime AVANT lui * dans le pied de page, `wp_has_consent` n'existait donc jamais au moment ou le pixel * l'interroge, et c'etait toujours l'etat fige par PHP qui decidait, y compris sur une * page servie depuis un cache, c'est-a-dire l'etat d'un autre visiteur. */ add_action( 'wp_enqueue_scripts', array( __CLASS__, 'enqueue' ), PHP_INT_MAX ); add_action( 'wp_footer', array( __CLASS__, 'render_noscript' ), PHP_INT_MAX ); } /** * Repli sans JavaScript (module B de PRODUCT.md): une balise image OpenAI dans un `