Écrire des scripts d'organisation
Ajouter du JavaScript custom dans l'expérience OmniLab en comprenant le contexte d'exécution, les déclencheurs, et les données disponibles.
Les scripts d'organisation permettent d'exécuter du JavaScript custom dans l'expérience OmniLab côté participant. Ils sont utiles pour des besoins de tracking, d'intégration front légère, ou d'adaptation de comportement dans une page OmniLab.
Ce qu'il faut savoir avant de commencer
- les scripts s'exécutent dans l'expérience rendue au participant
- ils doivent être écrits à l'intérieur de balises
<script>explicites - ils peuvent être limités à certains contextes d'affichage, par exemple iframe ou non iframe
- ils peuvent être déclenchés sur certains moments du parcours, comme une visite ou une inscription
Pensez usage front, pas logique métier critique
Les scripts d'organisation sont utiles pour enrichir l'expérience ou pousser des signaux vers vos outils front. Gardez toutefois la logique métier sensible et les secrets sur votre backend.
Données disponibles côté script
Dans l'expérience OmniLab, le script peut accéder à l'objet window.omnilab, notamment :
window.omnilab.contactwindow.omnilab.groupwindow.omnilab.group.configuration.variables
Ces données permettent par exemple de lire certains identifiants, des variables d'organisation, ou le contexte de contact présent dans le parcours.
Exemple minimal
<script>
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'omnilab_page_view',
groupId: window.omnilab?.group?.id,
contactId: window.omnilab?.contact?.id,
});
</script>Contextes d'exécution fréquents
Selon la configuration du script, vous pouvez viser :
- tous les contextes
- uniquement un rendu dans iframe
- uniquement un rendu hors iframe
C'est utile si votre wrapper embarqué a besoin d'un comportement différent d'une landing page ouverte directement dans un navigateur.
Déclencheurs fréquents
Les scripts peuvent être associés à des moments du parcours tels que :
VISITREGISTRATION
Concevez donc vos scripts pour qu'ils tolèrent des exécutions multiples et évitez les effets de bord irréversibles sans garde-fou.
Bonnes pratiques
- gardez le script court et lisible
- encapsulez les accès à
window.omnilabavec des vérifications défensives - n'injectez aucun secret dans le script
- envoyez les traitements lourds vers vos propres endpoints au lieu de les faire dans la page
- testez le comportement en rendu direct et en rendu embarqué