Guide d'Intégration du Service Pixel
Cette page explique comment implémenter le Service Pixel de Rokt pour connecter les conversions avec vos campagnes. Le Service Pixel est destiné à être utilisé comme solution de secours dans les situations où le Rokt Web SDK n'est pas une option. Un exemple courant concerne les annonceurs dans des secteurs réglementés — tels que les services financiers ou la santé — dont les politiques de sécurité imposent une politique de sécurité de contenu (CSP) stricte qui bloque l'exécution de JavaScript tiers, mais permet toujours les requêtes d'image.
Votre gestionnaire de compte Rokt dédié vous aidera à configurer votre compte pour le Service Pixel. Ils vous fourniront la clé API requise et toutes les ressources supplémentaires nécessaires.
Les instructions ci-dessous nécessiteront des ressources de développement pour être complétées. Si vous avez besoin d'une assistance supplémentaire, veuillez contacter votre gestionnaire de compte Rokt.
Toutes les requêtes au Service Pixel sont effectuées sous forme de requêtes HTTP GET à :
https://pixels.mparticle.com/v1/{api_key}/Pixel
Où {api_key} est la clé API Rokt fournie par votre gestionnaire de compte.
1. Suivre les vues de pageLien direct vers 1. Suivre les vues de page
Pour suivre une vue de page, envoyez une requête pixel à chaque chargement de page. Placez la requête dans le <head> de votre page, ou déclenchez-la depuis votre JavaScript dès que la page se charge.
1.1 Entrez votre clé API RoktLien direct vers 1.1 Entrez votre clé API Rokt
Remplacez {api_key} dans l'URL par la clé API Rokt fournie par votre gestionnaire de compte Rokt dédié.
Votre clé API Rokt est une information d'identification unique fournie par votre gestionnaire de compte Rokt qui permet à votre site de se connecter et d'interagir en toute sécurité avec le Service Pixel de Rokt.
Le Service Pixel est destiné aux organisations dont la politique de sécurité de contenu (CSP) bloque le JavaScript tiers. Si votre organisation n'a pas cette restriction, utilisez plutôt le Rokt Web SDK, qui offre des fonctionnalités plus riches.
1.2 Identifier l'utilisateurLien direct vers 1.2 Identifier l'utilisateur
Rokt nécessite un identifiant utilisateur constant pour toutes les appels pixel afin de relier les événements du tunnel. Sans cela, chaque vue de page est traitée comme un utilisateur anonyme distinct, rendant impossible le suivi de la progression dans le tunnel ou la création d'audiences de reciblage pour les utilisateurs qui ont montré une forte intention mais n'ont pas converti.
Transmettez les identités des utilisateurs en utilisant des paramètres ui_t (clés de type d'identité) et ui_v (valeurs de type d'identité) séparés par des virgules.
Utilisateurs connus (email disponible)
Si l'utilisateur a fourni son adresse email, transmettez à la fois l'identifiant anonyme persistant et l'email afin que Rokt puisse lier toutes les vues de page anonymes antérieures à l'utilisateur désormais connu :
- Email non haché :
ui_t=other3,email - Email haché SHA-256 :
ui_t=other3,other
ui_t=other3,email&ui_v={sessionId},j.smith%40example.com
Utilisateurs anonymes (aucune PII disponible)
Si l'utilisateur n'a fourni aucune PII — par exemple, un utilisateur naviguant dans un tunnel d'application sans se connecter — vous devez tout de même transmettre un identifiant persistant pour que Rokt puisse lier tous les événements de vue de page, à la fois lors d'une visite et lors de visites ultérieures.
Générez un ID unique lorsque l'utilisateur arrive pour la première fois et conservez-le dans localStorage afin qu'il soit réutilisé lors de futures visites. Transmettez-le à chaque appel pixel en utilisant ui_t=other3:
function getSessionId() {
let sessionId = localStorage.getItem('rokt_session_id');
if (!sessionId) {
sessionId = crypto.randomUUID();
localStorage.setItem('rokt_session_id', sessionId);
}
return sessionId;
}
ui_t=other3&ui_v={sessionId}
L'identifiant stocké dans localStorage n'est pas lié à une identité utilisateur réelle — c'est un ID anonyme stable qui persiste à travers les visites afin que les utilisateurs revenant soient reconnus comme le même utilisateur plutôt que comme de nouveaux. Si l'utilisateur fournit plus tard son email (par exemple, sur une page de confirmation de conversion), incluez les deux identifiants pour que Rokt puisse associer toute l'activité anonyme antérieure à l'utilisateur désormais connu :
ui_t=other3,email&ui_v={sessionId},j.smith%40example.com
Ce modèle permet deux résultats pour les utilisateurs anonymes qui ne convertissent pas :
- Rokt peut voir que l'utilisateur a progressé dans le tunnel (signal de forte intention).
- Rokt place ces utilisateurs dans une audience de reciblage pour les réengager, et les reconnaît comme le même utilisateur s'ils reviennent.
1.3 Définir les attributs utilisateurLien direct vers 1.3 Définir les attributs utilisateur
Vous pouvez inclure des attributs utilisateur avec chaque requête pixel en utilisant des paramètres ua_k (clés d'attributs utilisateur) et ua_v (valeurs d'attributs utilisateur) séparés par des virgules.
Pour une liste des attributs que Rokt recommande de collecter, voir Attributs utilisateur recommandés.
ua_k=firstname,lastname,zip&ua_v=Jane,Smith,98103
1.4 Définir le nom de l'écranLien direct vers 1.4 Définir le nom de l'écran
Transmettez un nom d'écran à chaque vue de page en tant qu'attribut d'événement screen_name afin que Rokt puisse distinguer les écrans dans votre tunnel.
attrs_k=screen_name&attrs_v=checkout
Ceci est particulièrement important pour les applications monopage (SPAs). Lorsqu'un utilisateur navigue entre les écrans dans une SPA, l'URL et le titre du document ne changent souvent pas, donc hn et ttl seuls ne peuvent pas indiquer à Rokt quel écran l'utilisateur consulte. Sans un screen_name explicite, chaque vue d'écran apparaît identique et les événements d'entonnoir se regroupent en un même événement répété tout au long de la session. Définissez screen_name explicitement à chaque changement de route.
Exemple de vue de pageLien direct vers Exemple de vue de page
- JavaScript
- HTML
// ─── Page View Pixel ───────────────────────────────────────────────────────
const API_KEY = "YOUR_API_KEY";
const pixelURL = `https://pixels.mparticle.com/v1/${API_KEY}/Pixel`;
const currentTime = new Date().getTime();
// Generate or retrieve a persistent anonymous ID to tie all page view events
// together across visits.
function getSessionId() {
let sessionId = localStorage.getItem("rokt_session_id");
if (!sessionId) {
sessionId = crypto.randomUUID();
localStorage.setItem("rokt_session_id", sessionId);
}
return sessionId;
}
// If rtid is present in the URL (landing page), persist it for use throughout
// the funnel. On subsequent pages, retrieve the stored value instead.
function getRtid() {
const fromUrl = new URLSearchParams(window.location.search).get("rtid");
if (fromUrl) {
const normalized = fromUrl.toLowerCase();
localStorage.setItem("rokt_rtid", normalized);
return normalized;
}
const stored = localStorage.getItem("rokt_rtid");
return stored ? stored.toLowerCase() : "";
}
// Fetch user email from your persistence layer (e.g., localStorage,
// sessionStorage, cookies, or server-side session).
const email = null; // e.g., localStorage.getItem("userEmail") or null
// If you're using a hashed email address, set it in 'hashedEmail' instead
// (lowercase and trim before hashing).
const hashedEmail = null; // e.g., localStorage.getItem("hashedEmail") or null
const sessionId = getSessionId();
const rtid = getRtid();
// Set this to a value identifying the current screen — for example,
// "home", "product_details", or "checkout". On SPAs, update it whenever
// the screen changes, since the URL may not.
const screenName = "YOUR_SCREEN_NAME";
const params = new URLSearchParams({
dt: "ScreenView",
ct: currentTime,
hn: window.location.hostname,
ttl: document.title,
// Event attributes — screen_name identifies the current screen
attrs_k: "screen_name",
attrs_v: screenName,
});
if (email) {
// Known user: pass session ID, email, and Rokt Click ID (rtid)
params.append("ui_t", "other3,email,other2");
params.append("ui_v", `${sessionId},${email},${rtid}`);
} else if (hashedEmail) {
// Known user with hashed email
params.append("ui_t", "other3,other,other2");
params.append("ui_v", `${sessionId},${hashedEmail},${rtid}`);
} else {
// Anonymous user: pass session ID and Rokt Click ID only
params.append("ui_t", "other3,other2");
params.append("ui_v", `${sessionId},${rtid}`);
}
fetch(pixelURL + "?" + params.toString());
Vous pouvez également inclure un pixel d'image 1×1 pour les cas où le JavaScript côté client n'est pas disponible. Les valeurs des paramètres doivent être rendues côté serveur avant que la page ne soit servie au navigateur.
<!-- Known user (email available) -->
<img
src="https://pixels.mparticle.com/v1/{api_key}/Pixel?dt=ScreenView&ct={timestampMs}&hn={hostname}&ttl={pageTitle}&attrs_k=screen_name&attrs_v={screenName}&ui_t=other3,email&ui_v={sessionId},{emailAddress}"
width="1"
height="1"
/>
<!-- Anonymous user (no PII available) -->
<img
src="https://pixels.mparticle.com/v1/{api_key}/Pixel?dt=ScreenView&ct={timestampMs}&hn={hostname}&ttl={pageTitle}&attrs_k=screen_name&attrs_v={screenName}&ui_t=other3&ui_v={sessionId}"
width="1"
height="1"
/>
2. Suivre les conversionsLien direct vers 2. Suivre les conversions
Pour suivre une conversion, envoyez une requête de pixel sur la page qui se charge après qu'un client ait converti, comme une page de confirmation d'achat ou de remerciement.
Lors de l'envoi du pixel de conversion, assurez-vous de :
-
Inclure l'identité de l'utilisateur (
ui_t,ui_v) avec leur adresse e-mail ou adresse e-mail hachée. Si vous avez suivi l'utilisateur de manière anonyme, transmettez à la fois l'identifiant anonyme persistant et l'e-mail ensemble afin que Rokt puisse lier l'activité anonyme de l'entonnoir à l'utilisateur converti :ui_t=other3,email&ui_v={sessionId},j.smith%40example.com -
Inclure les attributs de l'utilisateur (
ua_k,ua_v) avec au moins :firstnamelastnamezipmobile
-
Inclure les attributs d'événement de conversion requis suivants (
attrs_k,attrs_v) :conversiontype— Le nom de l'événement de conversion, par exemple,signupoupurchase.confirmationref— Votre ID de transaction ou de commande, utilisé comme clé de déduplication de Rokt.
Les attributs conversiontype et confirmationref permettent à Rokt d'optimiser efficacement votre campagne et de dédupliquer les événements et conversions de manière appropriée. Ce sont des attributs de lancement requis.
Lors de l'enregistrement d'un événement de conversion, incluez autant d'attributs utilisateur et d'attributs d'événement que possible pour améliorer la capacité de Rokt à optimiser vos campagnes.
- JavaScript
- HTML
// ─── Conversion Pixel ──────────────────────────────────────────────────────
const API_KEY = "YOUR_API_KEY";
const pixelURL = `https://pixels.mparticle.com/v1/${API_KEY}/Pixel`;
const currentTime = new Date().getTime();
function getSessionId() {
let sessionId = localStorage.getItem("rokt_session_id");
if (!sessionId) {
sessionId = crypto.randomUUID();
localStorage.setItem("rokt_session_id", sessionId);
}
return sessionId;
}
// Retrieve rtid from localStorage — it was captured and stored on the landing page.
function getRtid() {
const fromUrl = new URLSearchParams(window.location.search).get("rtid");
if (fromUrl) {
const normalized = fromUrl.toLowerCase();
localStorage.setItem("rokt_rtid", normalized);
return normalized;
}
const stored = localStorage.getItem("rokt_rtid");
return stored ? stored.toLowerCase() : "";
}
const sessionId = getSessionId();
const rtid = getRtid();
const params = new URLSearchParams({
dt: "AppEvent",
et: "Transaction",
n: "conversion",
ct: currentTime,
// User identity — include the persistent session ID, email, and Rokt Click ID
ui_t: "other3,email,other2",
ui_v: `${sessionId},j.smith@example.com,${rtid}`,
// User attributes
ua_k: "firstname,lastname,zip,mobile",
ua_v: "John,Doe,98103,3125551515",
// Conversion event attributes — conversiontype and confirmationref are required
attrs_k: "conversiontype,confirmationref,amount,currency",
attrs_v: "signup,54321,300.5,USD",
});
fetch(pixelURL + "?" + params.toString());
Vous pouvez également déclencher le pixel de conversion en tant qu'image 1×1. Les valeurs des paramètres doivent être rendues côté serveur avant que la page ne soit servie au navigateur.
<img
src="https://pixels.mparticle.com/v1/{api_key}/Pixel?dt=AppEvent&et=Transaction&n=conversion&ct={timestampMs}&ui_t=other3,email&ui_v={sessionId},{emailAddress}&ua_k=firstname,lastname,zip,mobile&ua_v={firstName},{lastName},{zip},{mobile}&attrs_k=conversiontype,confirmationref,amount,currency&attrs_v={conversionType},{confirmationRef},{amount},{currency}"
width="1"
height="1"
/>
Attributs utilisateur recommandésLien direct vers Attributs utilisateur recommandés
Rokt recommande de définir autant que possible les attributs utilisateur suivants :
| Clé d'attribut utilisateur | Valeur d'exemple | Remarques |
|---|---|---|
| firstname | John | Le prénom du client. |
| firstnamesha256 | fab1e2e699b3b927cbf875046a64f222 | Hachage SHA-256 du prénom. Avant le hachage, mettez en minuscules et supprimez tous les espaces de fin. |
| lastname | Doe | Le nom de famille du client. |
| lastnamesha256 | fab1e2e699b3b927cbf875046a64f222 | Hachage SHA-256 du nom de famille. Avant le hachage, mettez en minuscules et supprimez tous les espaces de fin. |
| mobile | 3125551515 | Les numéros de téléphone peuvent être formatés soit comme 1112345678 soit comme +1 (222) 345-6789. |
| mobilesha256 | fab1e2e699b3b927cbf875046a64f222 | SHA-256 du numéro de mobile. Avant le hachage, formatez comme 5551234567 (sans tirets ni espaces). |
| age | 33 | L'âge du client. |
| dob | 19900717 | Date de naissance. Formatée comme yyyymmdd. |
| gender | M | Le genre du client. Par exemple, M, Male, F, ou Female. |
| city | Brooklyn | La ville du client. |
| state | NY | L'état du client. |
| zip | 11201 | Le code postal du client. |
| title | Mr | Le titre du client. Par exemple, Mr, Mrs, Ms. |
| language | en | Langue associée à l'achat. |
| value | 52.25 | La valeur du client. |
| predictedltv | 136.23 | La valeur totale de la durée de vie prédite du client. |
Tous les attributs utilisateur doivent avoir des noms distincts.
3. Testez votre intégrationLien direct vers 3. Testez votre intégration
Rokt recommande de tester votre intégration pour s'assurer que les requêtes pixel sont envoyées correctement et que les événements sont enregistrés avec succès.
Après avoir vérifié les étapes suivantes, effectuez quelques achats ou inscriptions de test en tant qu'utilisateur final. Ensuite, fournissez l'email ou l'email haché que vous avez utilisé à votre gestionnaire de compte Rokt afin qu'il puisse vérifier que les données sont correctement ingérées dans Rokt.
Test du suivi des pages vuesLien direct vers Test du suivi des pages vues
- Ouvrez une nouvelle fenêtre de navigateur.
- Accédez au panneau des outils de développement de votre navigateur. Pour la plupart des navigateurs, faites cela en cliquant avec le bouton droit de la souris sur votre écran et en sélectionnant Inspecter.
- Dans le panneau des outils de développement, naviguez vers l'onglet Réseau et entrez
pixels.mparticle.comdans la barre de filtre. - Chargez la page où vous avez placé le pixel de vue de page. Vous devriez voir une requête GET vers
pixels.mparticle.com.
Test du suivi des conversionsLien direct vers Test du suivi des conversions
- Ouvrez une nouvelle fenêtre de navigateur.
- Accédez au panneau des outils de développement de votre navigateur. Pour la plupart des navigateurs, faites cela en cliquant avec le bouton droit de la souris sur votre écran et en sélectionnant Inspecter.
- Dans le panneau des outils de développement, naviguez vers l'onglet Réseau et entrez
pixels.mparticle.comdans la barre de filtre. - Effectuez une conversion de test sur votre site. Sur la page de confirmation, vous devriez voir une requête GET vers
pixels.mparticle.comcontenant les attributs de votre événement de conversion.
DépannageLien direct vers Dépannage
Pendant les tests, vérifiez que :
- Le paramètre
dtest correctement défini (ScreenViewpour les vues de page,AppEventpour les événements de conversion). - Le paramètre
ctcontient un horodatage epoch valide en millisecondes. - Toutes les valeurs des paramètres de requête sont encodées en URL, en particulier les adresses email (par exemple,
%40pour@).