Variables TMPL — Syntaxe & échappement

Variables TMPL — Syntaxe & échappement

Les variables TMPL permettent d'injecter des valeurs dynamiques dans les tags implémentés au sein du TMS Eulerian. Elles s'utilisent directement dans le code de vos tags personnalisés (JavaScript, Image, Iframe, S2S) pour transmettre à vos partenaires des données collectées en temps réel : référence produit, montant, identifiant utilisateur, URL courante, etc.


Syntaxe des balises

Il existe deux types de balises TMPL.
Balises auto-fermantes — retournent une valeur :
<TMPL_VAR $var />
Balises ouvrantes/fermantes — utilisées pour les boucles et les conditions :
<TMPL_IF $var> ... </TMPL_IF>
Les deux types suivent les règles de syntaxe XML standard :
  • Le chevron fermant d'une balise auto-fermante est précédé d'un / : <balise />
  • Pour les balises ouvrantes/fermantes, le / est placé après le chevron ouvrant de la balise fermante : <balise>...</balise>
  • Des attributs peuvent être ajoutés à l'intérieur d'une balise : <balise attribut="valeur">...</balise>
Exemples :
<!-- Balise auto-fermante avec attribut -->
<TMPL_VAR prdref ESCDQUOTE />

<!-- Structure de contrôle avec expression régulière -->
<TMPL_IF cgip.codepromo REGEX('^(PM-)')> ... </TMPL_IF>



Échapper les valeurs

Selon le contexte dans lequel une balise retourne du contenu, certains caractères peuvent générer des erreurs de syntaxe. Trois attributs d'échappement sont disponibles sur les balises TMPL_VAR.
Exemple du problème — sans échappement, l'apostrophe dans manteau d'hiver provoque une erreur JavaScript :
// ERREUR
var product_type = 'manteau d'hiver';

Attribut
Contexte
Exemple
ESCSQUOTE
Valeur entre apostrophes
var product_type = '<TMPL_VAR cgip.product_type ESCSQUOTE />'
ESCDQUOTE
Valeur entre guillemets
var product_type = "<TMPL_VAR cgip.product_type ESCDQUOTE />"
ESCHTTP
Valeur dans une URL
https://t.partenaire.com?type=<TMPL_VAR cgip.product_type ESCHTTP />

Variables TMPL — Macros simples



Paramètre générique

Balise
Description
<TMPL_VAR cgip.xxx />
Retourne la valeur de n'importe quel paramètre passé dans le marqueur collector. xxx doit reprendre la clé du paramètre telle qu'elle apparaît dans l'appel (et non dans le code source). S'applique à tous les paramètres Eulerian, y compris ceux listés ci-dessous.


Conversion

Balise
Description
<TMPL_VAR ref />
Référence unique de la conversion. Correspond au paramètre ref pour un tag de confirmation (devis/commande), et à actionref pour un suivi de conversion historisé.
<TMPL_VAR amount />
Montant total TTC de la conversion. Correspond au paramètre amount d'un tag de confirmation de devis ou de commande.
<TMPL_VAR amountexvat />
Montant total HT de la conversion (vente ou devis). Non disponible dans le contexte d'un panier commencé.
<TMPL_VAR type />
Type de conversion. Correspond au paramètre type d'un tag de confirmation.
<TMPL_VAR payment />
Moyen de paiement. Correspond au paramètre payment d'un tag de vente.


Page courante

Balise
Description
Exemple de résultat
<TMPL_VAR wsurl />
URL complète de la page courante avec les paramètres CGI
http://www.site.com/page?param1=val
<TMPL_VAR wsurlpath />
Chemin (path) original de la page, sans traitement ni règle de renommage
<TMPL_VAR wspath />
Nom de la page après traitement et règles de renommage si paramétrées


Produits

Ces balises retournent les données du premier produit passé dans le tag. Pour récupérer tous les produits, utilisez la boucle prdloop (voir doc Boucles produits).
Balise
Description
Boucle multi-produits
<TMPL_VAR prdref />
Référence du premier produit (prdref)
<TMPL_LOOP prdloop><TMPL_VAR prdref /></TMPL_LOOP>
<TMPL_VAR prdname />
Nom du premier produit (prdname)
<TMPL_LOOP prdloop><TMPL_VAR prdname ESCDQUOTE /></TMPL_LOOP>
<TMPL_VAR prdamount />
Montant TTC du premier produit (prdamount)
<TMPL_LOOP prdloop><TMPL_VAR prdamount /></TMPL_LOOP>
<TMPL_VAR prdamountexvat />
Montant HT du premier produit (prdamount)
<TMPL_LOOP prdloop><TMPL_VAR prdamountexvat /></TMPL_LOOP>
<TMPL_VAR prdqty />
Quantité du premier produit (prdqty)
<TMPL_LOOP prdloop><TMPL_VAR prdqty /></TMPL_LOOP>
<TMPL_VAR prds_pv.xxx />
Valeur de la catégorie produit xxx transmise via prdparam-xxx. Sans boucle, retourne la valeur du dernier produit uniquement. Ex : <TMPL_VAR prds_pv.marque ESCDQUOTE />
<TMPL_LOOP prdloop><TMPL_VAR prd_pv.xxx /></TMPL_LOOP> (noter prd_pv sans le s dans la boucle)
<TMPL_VAR prdnb />
Nombre de produits uniques. Ex : 3×A + 2×B → 2
<TMPL_VAR prdcnt />
Nombre de produits total. Ex : 3×A + 2×B → 5


Identifiants utilisateur

Balise
Description
<TMPL_VAR email />
Email de l'utilisateur. Peut être stocké en session et restitué même si l'utilisateur n'est pas connecté.
<TMPL_VAR uideah />
ID interne Eulerian crypté du visiteur courant. Basé sur le tracking first-party et le fingerprint Eulerian.
<TMPL_VAR uidsession />
ID de session Eulerian, unique par visite et par visiteur.
<TMPL_VAR uidws />
ID CRM du visiteur courant. Correspond à la valeur du paramètre uid passé au tag.
<TMPL_VAR uidwsh />
ID CRM du visiteur courant hashé par Eulerian.
<TMPL_VAR visitnb />
Nombre total de visites de l'utilisateur depuis le début de la collecte.


IDs partenaires

Balise
Description
<TMPL_VAR eparam />
ID partenaire récupéré via le paramètre &eparam=ID_PARTENAIRE dans un lien de tracking Eulerian.  Chaque nouvelle valeur écrase la précédente — non adapté à un usage multi-partenaires. Préférer mtuid.
<TMPL_VAR mtuid />
ID partenaire récupéré via les URLs de tracking ou le cookie matching (Eulerian Real Time Data). Contrairement à eparam, les bases sont indépendantes par partenaire et les valeurs ne s'écrasent pas. À privilégier.
<TMPL_VAR dcuid />
Équivalent de mtuid pour les connecteurs S2S. Renvoie le dernier ID partenaire collecté.
<TMPL_VAR dccduid />
Identique à dcuid mais renvoie l'ID partenaire du device courant (et non le dernier collecté).


Date et heure

Balise
Format
Exemple
<TMPL_VAR year />
YYYY
2024
<TMPL_VAR month />
MM
03
<TMPL_VAR day />
DD
15
<TMPL_VAR hour />
HH
14
<TMPL_VAR minute />
MM
32
<TMPL_VAR second />
SS
07
<TMPL_VAR epoch />
Timestamp Unix
1710507127


Valeurs aléatoires

Balise
Description
<TMPL_VAR rand />
Nombre aléatoire généré au chargement de la page. La valeur est identique pour tous les tags d'une même page. Pour un nombre unique par tag, utiliser mtrand.
<TMPL_VAR mthrand />
Valeur aléatoire unique à chaque emploi de la balise.


Géolocalisation & contexte technique

Balise
Description
Exemple
<TMPL_VAR geocountry />
Code pays en majuscules
FR, IT
<TMPL_VAR georegion />
Code région
<TMPL_VAR geoloc />
Combinaison code pays + code région
FRA8
<TMPL_VAR os />
Système d'exploitation de l'utilisateur
<TMPL_VAR browser />
Navigateur et sa version
Firefox 26.00
<TMPL_VAR lang />
Langue du navigateur en majuscules
FR, EN
<TMPL_VAR isp />
Fournisseur d'accès Internet
<TMPL_VAR ip />
Adresse IPv4 de l'utilisateur
<TMPL_VAR ip6 />
Adresse IPv6 de l'utilisateur
<TMPL_VAR dnt />
Do Not Track activé dans le navigateur
1 = oui, 0 = non
<TMPL_VAR devicetype />
Type d'appareil
Smartphone, Desktop, Tablet
<TMPL_VAR cgip.cur />
Devise de la transaction
EUR, USD


Paramètres personnalisés

Balise
Description
Exemple
<TMPL_VAR iduserparam.NOM_PARAMETRE />
Valeur d'un paramètre utilisateur first-party
iduserparam.birthdate, iduserparam.gender, iduserparam.optin
<TMPL_VAR np_NOM_PARAMETRE />
Valeur d'un paramètre partenaire dans un tag partenaire
np_account


Profil utilisateur

Balise
Description
<TMPL_VAR profilesession />
ID du profil utilisateur sur la session courante
<TMPL_VAR profileglobal />
ID du profil utilisateur global (toutes sessions)
<TMPL_VAR profilesessiontxt />
Libellé du profil utilisateur sur la session courante
<TMPL_VAR profileglobaltxt />
Libellé du profil utilisateur global

Variables TMPL — Paramètres ad-centric

Le module Activation (tags natifs/personnalisés et appels S2S) permet d'envoyer les données ad-centric via les macros suivantes. Ces clés sont utilisables :
  • dans les exports de données S2S / TMS pour les connecteurs temps-réel vers de la BI
  • dans l'API userdatass pour extraire les informations d'attribution marketing


Macros disponibles

Balise
Description
Exemple
<TMPL_VAR channelc />
Abréviation du levier
ad
<TMPL_VAR channelt />
Type de touche
c
<TMPL_VAR channelpubtxt />
Nom du support
support
<TMPL_VAR channelopetxt />
Nom de la campagne
campagne-brand-fil-rouge
<TMPL_VAR channelsengtxt />
Moteur de recherche SEO
Bing
<TMPL_VAR channelsengkwtxt />
Mot-clé SEO
marque
<TMPL_VAR channelrfdomtxt />
Domaine référant ad-centric
https://...
<TMPL_VAR channelrfdomuritxt />
URI référant ad-centric
/page
<TMPL_VAR channelloctxt />
Nom de l'emplacement
support-160x600
<TMPL_VAR channelcreatxt />
Nom de la bannière
150316-fr-brand
<TMPL_VAR channelslkw />
Mot-clé SEM
parfum voiture neuve
<TMPL_VAR channelsikey />
Segment entrant
segmentation
<TMPL_VAR channelsival />
Sous-segment entrant
chaud
<TMPL_VAR channelslcamptxt />
Campagne SEM
Marque-Bing
<TMPL_VAR channelsladgrouptxt />
Groupe de mots-clés
marque
<TMPL_VAR channelclickid />
Click ID de la touche marketing courante (150 caractères max)


Vues d'attribution

La syntaxe view.X.clé permet de récupérer les données d'une vue d'attribution spécifique, où X est l'index de la vue (0 = dernier levier).
Balise
Description
Exemple
<TMPL_VAR view.0.media />
Shortname du média pour la vue d'attribution au dernier levier
ml, sf, ad
<TMPL_VAR view.3.pub />
ID du support pour la vue d'attribution n°3
13492
D'autres clés peuvent être requêtées pour chacune des vues. Contactez votre équipe Eulerian pour la liste complète.

Variables TMPL — Boucles produits (prdloop)

Par défaut, <TMPL_VAR prdref /> retourne uniquement la référence du premier produit passé dans le marqueur collector. Pour récupérer l'ensemble des produits d'une commande ou d'un panier, il faut utiliser la boucle prdloop.


Principe de base

<TMPL_LOOP prdloop><TMPL_IF idx>SÉPARATEUR</TMPL_IF><TMPL_VAR prdref /></TMPL_LOOP>
Le rôle de <TMPL_IF idx> : la condition idx est vraie pour tous les produits sauf le premier. Elle permet d'insérer un séparateur entre chaque produit sans en ajouter un avant le premier.
Sans idx, on obtiendrait ;BV6543;VR7844;VR3321 — le ; initial serait en trop et pourrait générer une erreur JavaScript.
La balise <TMPL_VAR prd_pv.xxx /> fonctionne selon le même principe pour les catégories de produits (correspondant aux paramètres prdparam-xxx dans le marqueur collector).
<TMPL_IF idx> doit toujours être positionné avant le contenu à transmettre.


Exemples

Références produit séparées par une virgule

Données dans le marqueur collector :
EA_push([
'prdref', 'A5435',
'prdref', 'B7553',
'prdref', 'C9873'
])

Macro :
<TMPL_LOOP prdloop><TMPL_IF idx>,</TMPL_IF><TMPL_VAR prdref /></TMPL_LOOP>
Résultat :
A5435,B7553,C9873


Références, montants et quantités

Données dans le marqueur collector :
EA_push([
'scart', '1',

'prdref', 'A5435',
'prdamount', '10.00',
'prdquantity', '1',

'prdref', 'B7553',
'prdamount', '15.00',
'prdquantity', '2',

'prdref', 'C9873',
'prdamount', '12.00',
'prdquantity', '3'
])

Macro — les produits sont séparés par |, les champs par , :
<TMPL_LOOP prdloop><TMPL_IF idx>|</TMPL_IF><TMPL_VAR prdref />,<TMPL_VAR prdamount />,<TMPL_VAR prdqty /></TMPL_LOOP>
Résultat :
A5435,10.00,1|B7553,15.00,2|C9873,12.00,3


Références avec catégories de produit

Données dans le marqueur collector :
EA_push([
'prdref', 'A5435',
'prdparam-categorie', 'pantalon',
'prdparam-taille', '43',

'prdref', 'B7553',
'prdparam-categorie', 'chemise',
'prdparam-taille', '40',

'prdref', 'C9873',
'prdparam-categorie', 'veste',
'prdparam-taille', '43'
])

Macro — utilisation de prd_pv.xxx pour les catégories :
<TMPL_LOOP prdloop><TMPL_IF idx>|</TMPL_IF><TMPL_VAR prdref />:<TMPL_VAR prd_pv.categorie />:<TMPL_VAR prd_pv.taille /></TMPL_LOOP>
Résultat :
A5435:pantalon:43|B7553:chemise:40|C9873:veste:43


Somme totale (montant × quantité)

Cette macro calcule le total de la commande en multipliant chaque montant par sa quantité.
Données dans le marqueur collector :
EA_push([
'prdamount', '10', 'prdqty', '3', // 10 × 3 = 30
'prdamount', '25', 'prdqty', '1', // 25 × 1 = 25
'prdamount', '15', 'prdqty', '2' // 15 × 2 = 30
])
MacroTMPL_UNLESS avec REGEX('^1
#x27;)
évite d'afficher 1 * quand la quantité est égale à 1 :
<TMPL_LOOP prdloop> +(<TMPL_UNLESS prdqty REGEX('^1
#x27;
)><TMPL_VAR prdqty /> * </TMPL_UNLESS><TMPL_VAR prdamount />)</TMPL_LOOP>
Résultat :
85


Remplacer une valeur par une autre

Si vous récupérez la valeur nouveau_client dans le paramètre personnalisé type_client et que votre partenaire attend la valeur NC :
<TMPL_IF cgip.type_client REGEX("nouveau_client")>NC</TMPL_IF>
Résultat :
NC
Cette technique évite de créer deux tags distincts pour gérer dynamiquement la valeur transmise au partenaire.

Variables TMPL — Boucles user, audiences & TMPL_MOD



Récupérer les paramètres user et les segments d'audience

Ces boucles permettent de récupérer des paramètres utilisateur et/ou des audiences au déclenchement d'un tag.
Toutes les boucles suivent la même structure de base, avec <TMPL_IF idx> pour gérer le séparateur :
<TMPL_LOOP NOM_BOUCLE><TMPL_IF idx>,</TMPL_IF>"<TMPL_VAR key />":"<TMPL_VAR val />"</TMPL_LOOP>

Paramètres disponibles dans les boucles

Paramètre
Description
<TMPL_IF idx>
Insère le séparateur avant chaque élément sauf le premier
<TMPL_VAR key />
ID ou nom du paramètre user-centric (ou de l'audience)
<TMPL_VAR val />
Valeur du paramètre user-centric (ou du segment)


Paramètres user first-party

<TMPL_LOOP iduserparamloop><TMPL_IF idx>,</TMPL_IF>"<TMPL_VAR key />":"<TMPL_VAR val />"</TMPL_LOOP>
Retourne les IDs et valeurs des paramètres user-centric collectés en first-party.
Résultat :
"5":"10","AGE":"25-30ans"


Paramètres user second ou third party

<TMPL_LOOP partneruserparamloop><TMPL_IF idx>,</TMPL_IF>"<TMPL_VAR key />":"<TMPL_VAR val />"</TMPL_LOOP>
Retourne les IDs et valeurs des paramètres user-centric issus d'un Fournisseur de données (second ou third party).
Résultat :
"2":"15","CODE_POSTAL":"75001"


Segments d'audience

<TMPL_LOOP clusternameloop><TMPL_IF idx>,</TMPL_IF>"<TMPL_VAR key />":"<TMPL_VAR val />"</TMPL_LOOP>
Retourne les noms des audiences et les noms des segments inclus dans ces audiences.
Résultat :
"PROFIL":"BUYER"


Segments d'audience depuis une Master DMP

Pour requêter les audiences d'un site spécifique dans une Master DMP, la syntaxe de la boucle intègre l'ID du site + les 4 premières lettres du nom du site.
<TMPL_LOOP id+site(4)_clusternameloop><TMPL_IF idx>,</TMPL_IF>"<TMPL_VAR key />":"<TMPL_VAR val />"</TMPL_LOOP>
Exemple pour un site avec id=23 et nom=my-website :
<TMPL_LOOP 23my-w_clusternameloop><TMPL_IF idx>,</TMPL_IF>"<TMPL_VAR key />":"<TMPL_VAR val />"</TMPL_LOOP>
Retourne les noms des audiences et les noms des segments inclus dans ces audiences, limités au site ciblé.


Récupérer les paramètres d'un moteur de recherche interne

<TMPL_VAR isengineparam.KEY />
Retourne la valeur du paramètre de recherche correspondant à la KEY spécifiée.
Exemple — avec les données suivantes dans le marqueur collector :
EA_push([
'isearchkey', 'destinations',
'isearchdata', 'sea'
])
La macro <TMPL_VAR isengineparam.destinations /> retourne :
sea


TMPL_MOD — Échapper ou encoder un bloc

Pour échapper un bloc de contenu complet (plutôt qu'une seule variable), utilisez <TMPL_MOD> avec l'option souhaitée.
<TMPL_MOD ESCHTTP>http://sub.domain.tld/page?param1=1&param2=2</TMPL_MOD>
Résultat :
http%3a//sub.domain.tld/directory/page%3fparam1%3d1%26param2%3d2

Algorithmes de hachage et encodage disponibles

Attribut
Format
Exemple de résultat
MD5
Hexadécimal 32 car.
900150983cd24fb0d6963f7d28e17f72
SHA224LX
SHA-224 minuscules
23097d223405d8228642a477bda255b3...
SHA224UX
SHA-224 majuscules
23097D223405D8228642A477BDA255B3...
SHA224B64
SHA-224 base64
Iwl9IjQF2CKGQqR3vaJVsyqtvOS9oLP342ydpw==
SHA256LX
SHA-256 minuscules
ba7816bf8f01cfea414140de5dae2223...
SHA256UX
SHA-256 majuscules
BA7816BF8F01CFEA414140DE5DAE2223...
SHA256B64
SHA-256 base64
ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0=
SHA384LX
SHA-384 minuscules
cb00753f45a35e8bb5a03d699ac65007...
SHA384UX
SHA-384 majuscules
CB00753F45A35E8BB5A03D699AC65007...
SHA384B64
SHA-384 base64
ywB1P0WjXou1oD1pmsZQBycsMqsO3tFjGotgWkP/W+...
SHA512LX
SHA-512 minuscules
ddaf35a193617abacc417349ae204131...
SHA512UX
SHA-512 majuscules
DDAF35A193617ABACC417349AE204131...
SHA512B64
SHA-512 base64
3a81oZNherrMQXNJriBBMRLm+k6JqX6iCp7u5ktV05o...
BASE64
Base64 standard
PFRNUExfTU9EIEJBU0U2ND5CQVNFNjQ8L1RNUExfTU9EPg==
ESCHTTP
Encodage URL
http%3a//sub.domain.tld/...
Exemples d'utilisation :
<!-- Hasher l'email en SHA-512 minuscules -->
<TMPL_MOD SHA512LX><TMPL_VAR email /></TMPL_MOD>

<!-- Encoder un bloc d'URL -->
<TMPL_MOD ESCHTTP>https://www.monsite.com/page?param=valeur</TMPL_MOD>

Variables TMPL — Conditions & attributs supplémentaires



Conditions

IF / ELSE

TMPL_IF affiche son contenu uniquement si la condition est vraie. TMPL_ELSE prend le relais si elle est fausse.
<TMPL_IF orderestimate>
var type = "conversion";
<TMPL_ELSE>
var type = "view";
</TMPL_IF>


IF / UNLESS

TMPL_UNLESS est l'inverse de TMPL_IF — son contenu s'affiche si la condition est fausse. Les deux sont interchangeables avec IF/ELSE :
<TMPL_IF orderestimate>
var type = "conversion";
</TMPL_IF>
<TMPL_UNLESS orderestimate>
var type = "view";
</TMPL_UNLESS>


Conditions natives disponibles

Condition
Description
order
La page courante contient un tag de confirmation de vente
estimate
La page courante contient un tag de confirmation de devis
orderestimate
La page courante est un tag de vente ou de devis
scart
La page courante contient un tag de panier commencé
prdref
La page courante contient un ou plusieurs paramètres prdref
homepage
La page courante correspond à la homepage du site (déclarée à la création du site)
cgip.XXXXX
Teste la présence du paramètre natif ou personnalisé XXXXX passé dans le marqueur collector


Imbrication de conditions — exemple complet

Cette structure est la plus fréquente dans les templates natifs Eulerian. Elle permet de déclencher le bon type de tag sur chaque page sans qu'un même appel soit dupliqué.
<TMPL_IF orderestimate>
// Tag de confirmation (vente ou devis)
</TMPL_IF>

<TMPL_UNLESS orderestimate>

<TMPL_IF scart>
// Tag de panier commencé
</TMPL_IF>

<TMPL_UNLESS scart>

<TMPL_IF prdref>
<TMPL_UNLESS cgip.prdr1>
// Tag produit (un seul produit)
</TMPL_UNLESS>
<TMPL_IF cgip.prdr1>
// Tag catégorie (plusieurs produits)
</TMPL_IF>
</TMPL_IF>

<TMPL_UNLESS prdref>
<TMPL_IF homepage>
// Tag homepage
</TMPL_IF>
</TMPL_UNLESS>

</TMPL_UNLESS>

</TMPL_UNLESS>
Pourquoi TMPL_UNLESS scart et TMPL_UNLESS orderestimate ? Une page panier avec des produits valide toujours <TMPL_IF prdref>. Sans exclusion explicite, le tag produit se déclencherait aussi sur la page panier. Ces conditions évitent les doubles appels.
Pourquoi cgip.prdr1 pour distinguer produit et catégorie ? Chaque prdref passé dans le marqueur est automatiquement réindexé à partir de 0 (prdr0, prdr1, prdr2…). Tester la présence de prdr1 permet de vérifier qu'il y a au moins 2 produits — caractéristique d'une page catégorie.


Attributs supplémentaires

Ces attributs s'ajoutent directement dans les balises TMPL pour modifier leur contenu à la volée.


REGEX — Conditions basées sur une expression régulière

S'utilise dans TMPL_IF ou TMPL_UNLESS pour tester la valeur d'une variable avec une expression régulière.
<TMPL_IF cgip.profile REGEX("newcustomer")> var _pt_newcus = 1; </TMPL_IF>
<TMPL_UNLESS cgip.profile REGEX("newcustomer")> var _pt_newcus = 0; </TMPL_UNLESS>
Cette technique évite de créer deux tags distincts — la valeur de _pt_newcus est gérée dynamiquement dans un seul template.
Syntaxe : REGEX("ARG1")ARG1 est l'expression régulière à tester.


SREGEX — Transformer la valeur retournée

S'utilise dans TMPL_VAR pour capturer et reformater dynamiquement la valeur d'une variable. Les groupes de capture sont entourés de parenthèses et réutilisés via $1, $2, etc.
<!-- Référence produit : SX12345F453 -->

<TMPL_VAR prdref SREGEX("SX(.*)","$1") />
<!-- Résultat : 12345F453 -->

<TMPL_VAR prdref SREGEX("SX(.*?)F(.*)","$1$2") />
<!-- Résultat : 12345453 -->

<TMPL_VAR prdref SREGEX("SX(.*)","VR$1") />
<!-- Résultat : VR12345F453 -->

<!-- Montant : 23.50 — conversion du point en virgule -->
<TMPL_VAR prdamount SREGEX("(.*)\.(.*)","$1,$2") />
<!-- Résultat : 23,50 -->
Il est possible d'enchaîner plusieurs SREGEX dans une même balise pour transformer la valeur en plusieurs étapes.
Syntaxe : SREGEX("ARG1","ARG2")ARG1 est l'expression régulière, ARG2 le format de sortie.


STRFTIME — Formater un timestamp

Convertit un timestamp en format de date lisible.
<TMPL_VAR epoch STRFTIME('%Y-%m-%d %H:%M:%S', 'Europe/Paris') />
Syntaxe : STRFTIME("ARG1","ARG2")ARG1 est le format POSIX souhaité, ARG2 le fuseau horaire.


MATH + PRECISION — Opérations arithmétiques

Effectue une opération mathématique sur la valeur d'une variable numérique. PRECISION permet d'arrondir le résultat.
<!-- Appliquer une réduction de 20% et arrondir à 2 décimales -->
<TMPL_VAR prdamount MATH("*","0.80") PRECISION("2") />
<!-- Résultat : 16,00-->
Syntaxe : MATH("ARG1","ARG2")ARG1 est l'opérateur (*, /, +, -), ARG2 la valeur à appliquer.


LT / LE / GE / GT — Comparaisons numériques

S'utilisent dans TMPL_IF pour comparer une valeur numérique.
Attribut
Signification
Exemple
LT(n)
Strictement inférieur à n
<TMPL_IF vtest LT(10)> Inf 10 </TMPL_IF>
LE(n)
Inférieur ou égal à n
<TMPL_IF vtest LE(10)> Inf/EQ 10 </TMPL_IF>
GE(n)
Supérieur ou égal à n
<TMPL_IF vtest GE(10)> Sup/EQ 10 </TMPL_IF>
GT(n)
Strictement supérieur à n
<TMPL_IF vtest GT(10)> Sup 10 </TMPL_IF>


BASE64 — Encoder en base64

Encode la valeur d'une variable en base64.
<TMPL_VAR prdref BASE64 />
<!-- Référence : ref-123456789Résultat : cmVmLTEyMzQ1Njc4OQ== -->


CONTEXT FLAG — Boucler sur les Context Flags

Permet de récupérer les Context Flags associés à la page courante.
Prérequis : activer l'option "Context-Flag: authorize values in templates (TMPL_LOOP cflag)" dans les options du site.
<TMPL_IF cflag>
<TMPL_LOOP cflag>
<TMPL_IF idx>,</TMPL_IF>
<!-- vos variables ici -->
</TMPL_LOOP>
</TMPL_IF>
Variables disponibles dans la boucle :
Variable
Description
<TMPL_VAR idx />
Index de l'itération
<TMPL_VAR key />
Clé du Context Flag
<TMPL_VAR keytxt />
Libellé de la clé
<TMPL_VAR cat />
Catégorie du Context Flag
<TMPL_VAR cattxt />
Libellé de la catégorie
<TMPL_VAR inc />
Nombre d'incréments
<TMPL_VAR tmd />
Timestamp de dernière modification
<TMPL_VAR aged />
Ancienneté
<TMPL_VAR current />
1 si le flag est actif sur la page courante, 0 sinon


TMPL_FLAG — Contrôler le formatage de sortie

Permet d'activer ou désactiver certains comportements de formatage du template.
Syntaxe :
<TMPL_FLAG $flag /> <!-- Activer -->
<TMPL_FLAG !$flag /> <!-- Désactiver -->
Flags disponibles :
Flag
État par défaut
Description
DELCARRIAGERET
Actif
Supprime les retours chariot dans la sortie
DELEMPTYLINE
Actif
Supprime les lignes vides dans la sortie
Ces flags s'ajoutent en début de template. Utile notamment pour les connecteurs S2S qui attendent un payload structuré avec des sauts de ligne.
Exemple — envoi d'un fichier CSV via S2S avec retours chariot préservés :
<TMPL_FLAG !DELCARRIAGERET />
https://my-custom-endpoint.com/segments/eulerian?HDR_CUSTOM_X-API-KEY=some_api_key&POST_CTYPE=csv&POST_DATA=
id_visiteur;valeur;segment;expiration
<TMPL_VAR dcuid ESCHTTP />;EA_value_7;EA_test_segment_7;