Guide d'Intégration du SDK Web
Cette page explique comment implémenter le SDK Web pour Rokt Ads afin de compléter la boucle en reliant les conversions à vos campagnes. En reliant les conversions à votre engagement publicitaire, vous pouvez permettre une attribution plus précise, une optimisation en temps réel et une mesure de campagne.
Votre représentant de compte dédié vous aidera à configurer votre compte pour le SDK Web. Ils vous fourniront à la fois la clé API requise pour initialiser le SDK et des ressources supplémentaires nécessaires pour rendre les expériences les plus pertinentes pour vos clients.
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 responsable de compte Rokt.
Travaillez avec votre responsable de compte Rokt pour d'abord implémenter le SDK dans un environnement de développement. Cela vous permet de tester et de résoudre en profondeur les problèmes de votre intégration avant de la publier dans un environnement de production.
Configuration du Domaine de Première Partie
Rokt recommande d'utiliser un domaine de première partie lors de l'intégration du SDK sur votre site. Cela garantit que le SDK de Rokt utilise votre propre domaine lors des appels à l'API de Rokt, offrant à vos clients une expérience fluide et minimisant le risque de contenu bloqué.
Pour apprendre comment configurer un domaine de première partie pour votre intégration SDK, consultez First Party Domain Integration.
1. Initialiser le SDK de Rokt
Pour initialiser le SDK, copiez et collez le script d'initialisation du SDK dans votre site.
Chaque site est différent, mais Rokt recommande d'inclure le script SDK sur chaque page. Cela assure la plus faible latence de livraison des offres et la plus grande précision d'identification des utilisateurs.
- Applications Monopage (SPA) : Si votre site est une SPA, insérez le script d'initialisation dans le
<head>
de la page principaleindex.html
, ou l'emplacement principal où le reste de votre contenu est rendu. - Applications Multipages (MPA) : Si votre site est une MPA et que vous utilisez un système de rendu basé sur des modèles (le plus courant), placez le script d'initialisation dans le fichier de mise en page partagée principale. Si vous n'utilisez pas un système de rendu basé sur des modèles, placez le script dans chaque fichier HTML de votre site.
Notez que bien que chaque page puisse inclure le script, en raison de la mise en cache du navigateur, le SDK se chargerait à partir du cache par défaut plutôt que d'être chargé à chaque chargement de page de votre site.
Script d'initialisation SDK
<script type="text/javascript">
// Entrez votre clé API Rokt
const API_KEY = "YOUR_API_KEY";
// Entrez votre sous-domaine personnalisé si vous utilisez une configuration de domaine de première partie (optionnel)
const ROKT_DOMAIN = "https://apps.rokt-api.com";
window.mParticle = {
config: {
// Définissez l'environnement de données :
// Réglez isDevelopmentMode sur true si vous testez encore votre intégration.
// Réglez isDevelopmentMode sur false si votre intégration est prête pour les données en production.
isDevelopmentMode: true,
// Identifiez l'utilisateur actuel :
// Si vous n'avez pas l'adresse email de l'utilisateur, vous pouvez passer une valeur nulle
// identifyRequest: {
userIdentities: {
// Si vous utilisez une adresse email non hachée, configurez-la dans 'email'.
email: 'j.smith@example.com',
// Si vous utilisez une adresse email hachée, configurez-la dans 'other' au lieu de 'email'.
other: 'l'email hachée sha256 va ici'
}
},
// Si l'utilisateur est identifié par son adresse email, définissez des attributs utilisateur supplémentaires.
identityCallback: function(result) {
if (result.getUser()) {
result.getUser().setUserAttribute('clé-attribut', 'valeur-attribut');
}
}
};
// Chargez le SDK
(function(e) { window.mParticle = window.mParticle || {}; window.mParticle.EventType = { Unknown: 0, Navigation: 1, Location: 2, Search: 3, Transaction: 4, UserContent: 5, UserPreference: 6, Social: 7, Other: 8, Media: 9 }; window.mParticle.eCommerce = { Cart: {} }; window.mParticle.Identity = {}; window.mParticle.Rokt = {}; window.mParticle.config = window.mParticle.config || {}; window.mParticle.config.rq = []; window.mParticle.config.snippetVersion = 2.7; window.mParticle.ready = function(e) { window.mParticle.config.rq.push(e); }; ["endSession", "logError", "logBaseEvent", "logEvent", "logForm", "logLink", "logPageView", "setSessionAttribute", "setAppName", "setAppVersion", "setOptOut", "setPosition", "startNewSession", "startTrackingLocation", "stopTrackingLocation"].forEach(function(e) { window.mParticle[e] = function() { var t = Array.prototype.slice.call(arguments); t.unshift(e); window.mParticle.config.rq.push(t); }; }); ["setCurrencyCode", "logCheckout"].forEach(function(e) { window.mParticle.eCommerce[e] = function() { var t = Array.prototype.slice.call(arguments); t.unshift("eCommerce." + e); window.mParticle.config.rq.push(t); }; }); ["identify", "login", "logout", "modify"].forEach(function(e) { window.mParticle.Identity[e] = function() { var t = Array.prototype.slice.call(arguments); t.unshift("Identity." + e); window.mParticle.config.rq.push(t); }; }); ["selectPlacements","hashAttributes","setExtensionData","use","getVersion","terminate"].forEach(function(e) { window.mParticle.Rokt[e] = function() { var t = Array.prototype.slice.call(arguments); t.unshift("Rokt." + e); window.mParticle.config.rq.push(t); }; }); var t = window.mParticle.config.isDevelopmentMode ? 1 : 0, n = "?env=" + t, a = window.mParticle.config.dataPlan; if (a) { var o = a.planId, r = a.planVersion; o && (r && (r < 1 || r > 1e3) && (r = null), n += "&plan_id=" + o + (r ? "&plan_version=" + r : "")); } var i = window.mParticle.config.versions, s = []; i && Object.keys(i).forEach(function(e) { s.push(e + "=" + i[e]); }); var c = document.createElement("script"); c.type = "text/javascript"; c.async = !0; window.ROKT_DOMAIN = ROKT_DOMAIN || 'https://apps.rokt-api.com'; mParticle.config.domain = ROKT_DOMAIN.split('//')[1]; c.src = ROKT_DOMAIN + "/js/v2/" + e + "/app.js" + n + "&" + s.join("&"); var l = document.getElementsByTagName("script")[0]; l.parentNode.insertBefore(c, l); })(API_KEY);
</script>
Lors de l'insertion du script d'initialisation dans votre site, configurez les paramètres suivants :
1.1 Entrez votre Clé API Rokt
Définissez API_KEY
sur la clé API Rokt fournie par votre gestionnaire de compte Rokt dédié.
Votre Clé API Rokt est un identifiant unique fourni par votre représentant de compte Rokt qui permet à votre site de se connecter et d'interagir en toute sécurité avec le SDK Rokt.
1.2 Entrez votre sous-domaine personnalisé (optionnel)
Si vous souhaitez acheminer le SDK via votre propre domaine, suivez les instructions dans Configuration de Domaine de Premier Niveau, et définissez ROKT_DOMAIN
sur le sous-domaine que vous avez créé.
Un sous-domaine personnalisé permet au SDK Rokt d'être acheminé via votre propre domaine, réduisant ainsi le risque que les publicités ou les données soient bloquées par les navigateurs ou les bloqueurs de publicités.
Cette étape est optionnelle. Vous pouvez laisser ROKT_DOMAIN
défini sur https://apps.rokt-api.com
, mais les requêtes vers le SDK Rokt seront acheminées via apps.rokt-api.com
.
1.3 Configurer votre environnement de données
Rokt maintient deux environnements de données : Développement pour étiqueter et stocker les données à des fins de test et Production pour collecter l'activité réelle des clients.
Si vous testez encore le SDK de Rokt, définissez isDevelopmentMode
sur true
.
Si vous avez terminé les tests et souhaitez commencer à collecter l'activité client en direct, définissez isDevelopmentMode
sur false
.
1.4 Identifier l'utilisateur
Lorsque le SDK est initialisé, il peut identifier l'utilisateur actuel afin que toutes les données collectées lui soient correctement attribuées et pour s'assurer qu'il voie les annonces les plus pertinentes en fonction de son comportement.
Le script d'initialisation SDK inclut un objet appelé identifyRequest
:
identifyRequest: {
userIdentities: {
// Indiquez l'adresse e-mail brute de l'utilisateur dans 'email'
email: 'j.smith@example.com',
// Indiquez l'adresse e-mail hachée de l'utilisateur dans 'other'
other: 'sha256 hashed email goes here'
}
}
Dans identifyRequest
, passez l’adresse e-mail de l’utilisateur dans le champ email
si elle n’est pas hachée ou other
si elle est hachée à l’aide de SHA256.
Incluez toujours identifyRequest
dans le script d'initialisation, même si vous ne disposez pas de l'adresse e-mail de l'utilisateur au moment de l'initialisation.
Si vous n'avez pas l'adresse e-mail de l'utilisateur, passez une valeur null. Le SDK s'initialisera toujours, et vous pourrez identifier l'utilisateur plus tard en suivant les instructions de 2. Identifier l'Utilisateur.
1.5 Définir des attributs utilisateur supplémentaires
Le script d'initialisation inclut une fonction de rappel qui vous permet de définir des attributs utilisateur supplémentaires pour l'utilisateur s'il est identifié avec succès par son adresse e-mail :
// The identityCallback determines if the identifyRequest was successful.
identityCallback: function(result) {
if (result.getUser()) {
// If the user was identified, set additional user attributes with setUserAttribute.
result.getUser().setUserAttribute('attribute-key', 'attribute-value');
}
}
Pour une liste des attributs que Rokt recommande de collecter pour vos utilisateurs, voir Recommended user attributes.
2. Identifier l'Utilisateur
Lors de l'initialisation, le SDK soumet une identifyRequest à Rokt avec l'adresse e-mail de l'utilisateur pour identifier l'utilisateur actuel.
En plus d'identifier l'utilisateur lors de l'initialisation, chaque fois que l'utilisateur fournit son adresse e-mail après que le SDK a été initialisé (par exemple, lorsqu'il se connecte ou effectue un achat), vous devez appeler la méthode identify pour transmettre leur e-mail à Rokt. Cela garantit que les données sont correctement attribuées à l'utilisateur actuel.
Pour identifier l'utilisateur, créez d'abord un objet identifyRequest
pour contenir l'adresse e-mail de l'utilisateur.
Si vous fournissez une adresse e-mail non hachée, utilisez :
const identifyRequest = {
userIdentities: {
email: 'j.smith@example.com'
}
};
Si vous fournissez une adresse e-mail hachée, utilisez :
const identifyRequest = {
userIdentities: {
other: 'sha256 hashed email goes here'
}
};
Ensuite, vous avez la possibilité de définir des attributs utilisateur supplémentaires lors de l'identification d'un utilisateur en créant une fonction de rappel. Si le identifyRequest
réussit, alors les attributs utilisateur que vous définissez avec setUserAttribute
sont affectés à l'utilisateur.
const identityCallback = function(result) {
if (result.getUser()) {
result.getUser().setUserAttribute('attribute-key', 'attribute-value');
}
};
Pour une liste des attributs que Rokt recommande de collecter pour vos utilisateurs, voir Recommended user attributes.
Enfin, après avoir créé votre identifyRequest
et votre identityCallback
, pour définir des attributs supplémentaires, appelez la méthode identify, en passant les objets identifyRequest
et identityCallback
que vous venez de créer :
mParticle.Identity.identify(identifyRequest, identityCallback);
Par exemple, pour identifier un utilisateur nommé Jane Smith avec l'adresse e-mail j.smith@example.com
(et vous n'avez pas besoin de hacher leur adresse e-mail), vous utiliseriez :
const identifyRequest = {
userIdentities: {
email: 'j.smith@example.com'
}
};
const identityCallback = function(result) {
if (result.getUser()) {
result.getUser().setUserAttribute('firstname', 'Jane');
result.getUser().setUserAttribute('lastname', 'Smith');
}
};
mParticle.Identity.identify(identifyRequest, identityCallback);