> ## Documentation Index
> Fetch the complete documentation index at: https://docs.titane-intelligence.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SAP Emarsys : bien démarrer

> Brancher SAP Emarsys à La Forge avec une clé OpenID Connect, retrouver les champs Titane sur vos contacts, puis vous en servir dans vos segments, vos programmes et vos e-mails.

export const Logiciel = ({id}) => {
  const logiciels = {
    klaviyo: ["Klaviyo", "CRM et e-mailing"],
    brevo: ["Brevo", "CRM et e-mailing"],
    mailchimp: ["Mailchimp", "CRM et e-mailing"],
    batch: ["Batch", "CRM et e-mailing"],
    emarsys: ["SAP Emarsys", "CRM et e-mailing"],
    shopify: ["Shopify", "Boutique en ligne"],
    woocommerce: ["WooCommerce", "Boutique en ligne"],
    prestashop: ["PrestaShop", "Boutique en ligne"],
    magento: ["Magento", "Boutique en ligne"],
    "sap-commerce": ["SAP Commerce Cloud", "Boutique en ligne"]
  };
  const [nom, famille] = logiciels[id] || [id, ""];
  return <div className="not-prose" style={{
    display: "flex",
    alignItems: "center",
    gap: 10,
    margin: "0 0 20px"
  }}>
      <img src={`/logos/${id}.png`} alt={nom} width={28} height={28} noZoom style={{
    width: 28,
    height: 28,
    margin: 0
  }} />
      <span style={{
    fontSize: 14
  }}>
        <strong>{nom}</strong>
        <span style={{
    opacity: 0.6
  }}> · {famille}</span>
      </span>
    </div>;
};

export const ApercuProfil = ({logiciel, client, proprietes = []}) => <div className="not-prose" style={{
  border: "1px solid rgba(127,127,127,0.25)",
  borderRadius: 14,
  overflow: "hidden",
  margin: "20px 0",
  maxWidth: 640
}}>
    <div style={{
  background: "rgba(127,127,127,0.08)",
  padding: "12px 16px",
  display: "flex",
  justifyContent: "space-between",
  fontSize: 13
}}>
      <strong>{client}</strong>
      <span style={{
  opacity: 0.65
}}>{logiciel} · profil</span>
    </div>
    <div style={{
  padding: "6px 16px 12px"
}}>
      {proprietes.map(([nom, valeur]) => <div key={nom} style={{
  display: "flex",
  justifyContent: "space-between",
  gap: 16,
  padding: "7px 0",
  borderBottom: "1px solid rgba(127,127,127,0.15)",
  fontSize: 13
}}>
          <code style={{
  fontSize: 12.5
}}>{nom}</code>
          <span style={{
  textAlign: "right"
}}>{valeur}</span>
        </div>)}
    </div>
    <div style={{
  padding: "0 16px 10px",
  fontSize: 12,
  opacity: 0.65
}}>Valeurs d'exemple : un client fictif de la marque de démonstration « Pure ».</div>
  </div>;

<Logiciel id="emarsys" />

## Brancher SAP Emarsys

Titane se branche à SAP Emarsys par une **clé API** que vous créez dans votre compte : un **Client ID** et son **secret**. Seul le **propriétaire du compte** (account owner) peut en créer une.

<Steps>
  <Step title="Ouvrir les clés API">
    **Management** › **Security Settings** › **API Credentials**, puis **Create API Credentials**.
  </Step>

  <Step title="Choisir OpenID Connect">
    Choisissez **OpenID Connect**, pas WSSE : SAP retire WSSE fin 2026, et La Forge ne l'accepte pas. Nommez la clé « Titane — La Forge ».
  </Step>

  <Step title="Copier le Client ID et le secret">
    Copiez le **Client ID** et le **Client secret**. SAP Emarsys ne montre le secret **qu'une fois** : sans lui, il faut créer une nouvelle clé.
  </Step>

  <Step title="Activer les permissions">
    Sur la ligne de la clé, ouvrez ses permissions (icône d'édition) et activez **une à une** les six permissions ci-dessous, puis **Save**.
  </Step>

  <Step title="Les coller dans La Forge">
    Dans La Forge, page **Données**, carte **SAP Emarsys**, collez le Client ID et le secret. La Forge vérifie l'accès tout de suite, et nomme les permissions qui manquent.
  </Step>
</Steps>

| Permission | Accès | Pour quoi faire |
| - | - | - |
| `customer.settings` | lecture | vérifier la connexion et nommer votre compte |
| `contact.list` | lecture | lister vos contacts |
| `contact.getdata` | lecture | lire leur e-mail, leur téléphone et leur consentement |
| `field.get` | lecture | retrouver les champs Titane |
| `field.create` | écriture | créer les champs Titane qui manquent |
| `contact.update` | écriture | écrire les champs Titane sur vos contacts |

<Note>
  Sur une clé neuve, **toutes les permissions sont désactivées** : sans elles, SAP Emarsys refuse l'accès. Titane ne se sert de la clé que pour lire vos contacts et y écrire les champs `titan_*` : il n'envoie aucun e-mail, ne déclenche aucun programme, ne crée aucun contact et n'en supprime aucun.
</Note>

## Les contacts que Titane met à jour

Titane écrit sur les contacts SAP Emarsys dont l'**adresse e-mail**, ou le numéro de mobile, est celle d'un client de votre boutique. Un contact qui ne correspond à aucun client n'est pas touché. Titane ne crée jamais de contact.

## Les champs Titane

La première nuit en [mode réel](/demarrer/mode-reel), Titane crée dans votre compte les champs de contact qui lui manquent, sous **les noms de la [référence](/livre/reference-champs)**, en minuscules : `titan_cycle`, `titan_churn`, `titan_reco_1_nom`… Vous n'avez rien à créer. Un champ que vous avez déjà créé sous le même nom est repris tel quel.

<ApercuProfil
  logiciel="SAP Emarsys"
  client="Hugo, client de la boutique Pure"
  proprietes={[
["titan_cycle", "ESPACEMENT"],
["titan_risque", "modere"],
["titan_valeur", "haute"],
["titan_parcours", "fidele"],
["titan_fenetre", "ouverte"],
["titan_p_achat_30j", "0.18"],
["titan_prochain_achat", "2026-10-21"],
["titan_reco_1_nom", "Sérum rééquilibrant niacinamide"],
["titan_reco_1_prix", "24,90 €"],
["titan_recs", ",8817234,8817102,…"],
["titan_asof", "2026-10-06"]
]}
/>

Chez SAP Emarsys, Titane écrit les indicateurs, les axes d'audience, la **sélection personnalisée** de chaque client et trois **listes de produits** :

* `titan_recs`, les identifiants des produits de sa sélection personnalisée ;
* `titan_complementary`, les identifiants des compléments de son dernier achat (**TITAN-LINK**) ;
* `titan_replenishment`, les identifiants des produits qu'il devrait bientôt racheter.

Chaque champ est créé avec son type SAP Emarsys :

| Champs | Type chez SAP Emarsys | Ce que ça change |
| - | - | - |
| les nombres (`titan_churn`, `titan_ltv`, `titan_commandes`…) | numérique, avec un point décimal (`0.42`) | des conditions « supérieur à », « inférieur à » |
| `titan_prochain_achat`, `titan_prochain_reassort`, `titan_asof` | date | des conditions sur une date |
| `titan_reco_{n}_image`, `titan_reco_{n}_url` | URL | une image ou un lien dans un e-mail |
| `titan_recs`, `titan_complementary`, `titan_replenishment` | texte : les identifiants entre virgules, `,8817234,8817102,` | une condition « contient » sur un produit |
| tous les autres (`titan_cycle`, `titan_reco_{n}_nom`…) | texte | des conditions « égal à », « n'est pas vide » |

Les listes rangent les produits **dans l'ordre** : le premier est le plus recommandé. Elles portent l'identifiant de chaque produit dans votre boutique, le même que `titan_reco_{n}_id`, mais ni son nom, ni son prix, ni son image : elles servent à **cibler**. Pour afficher un produit dans un e-mail, gardez les champs `titan_reco_{n}_…`.

Un champ vide est **vidé** sur le contact, liste comprise : un client sans résultat n'a pas de valeur, ce qui n'est pas un zéro. Vos champs Titane se retrouvent dans le **Field Editor** (**Management** › **Data Management**).

<Note>
  SAP Emarsys limite le nombre de champs de contact par compte, type par type. Titane en crée 49. Si votre compte n'a plus de place pour l'un d'eux, La Forge vous le signale : libérez des champs dont vous ne vous servez plus dans le **Field Editor**, puis attendez la nuit suivante.
</Note>

### Pas de modèle Titane chez SAP Emarsys

Titane ne pose pas de modèle chez SAP Emarsys : vous composez vos e-mails dans SAP Emarsys, et vous y insérez les champs Titane.

## Insérer un champ Titane dans un e-mail

SAP Emarsys désigne un champ par son **numéro**, pas par son nom : un champ s'insère sous la forme `{{ contact.12345 }}`, où `12345` est le numéro du champ dans votre compte. Pour le connaître, créez un **jeton de personnalisation** :

<Steps>
  <Step title="Créer le jeton">
    **Content** › **Personalization** › **Create Token** › **Contact Data**.
  </Step>

  <Step title="Choisir le champ">
    Donnez-lui un nom parlant, par exemple « Titane · Reco 1 · nom », une catégorie (« Titane »), puis choisissez le champ `titan_reco_1_nom` dans **Field**.
  </Step>

  <Step title="Relever le code">
    La ligne **Personalization token** affiche le code à coller, par exemple `{{ contact.12345 }}`. Enregistrez.
  </Step>
</Steps>

Dans l'éditeur par blocs (**Block-Based Email**), le jeton s'insère avec l'icône **Personalization** d'un bloc de texte, dans la fenêtre **Insert Personalization Token** ; **Fallback text** y donne un texte de repli quand le champ est vide. Dans un e-mail en HTML (**Custom HTML Email**), collez directement le code.

```text theme={null}
{{ contact.12345|default("nos nouveautés") }}

{% if contact.12345 != '' %}
  … ce qui ne s'affiche que si le champ est renseigné …
{% endif %}
```

<Warning>
  N'utilisez pas les anciens codes en `$…$` dans le même e-mail : SAP Emarsys peut en bloquer l'envoi. Les anciens e-mails à modèle (**Template-Based Email**) ne lisent pas cette écriture : partez d'un e-mail par blocs ou en HTML.
</Warning>

## Cibler

**Contacts** › **Segments** › **Create Segment** › **Standard Segment**, puis le segment de contacts (**Contact, Email behavior, Geo, Smart Insight segment**). Avec **Add Criterion**, chaque champ `titan_*` s'utilise comme vos autres champs, parmi les critères de contact : **Equal**, **Is not empty**, **Greater than**, **Less than**… Terminez par **Save and Calculate**. Des idées de cibles sont dans [Les segments Titane](/livre/segments).

Une liste se cible par **Contains**, avec l'identifiant du produit **entre deux virgules** : `titan_recs` **Contains** `,8817234,` retient les clients dont la sélection contient ce produit, quel que soit son rang. Les virgules évitent de confondre `1234` avec `81234`. De la même façon, `titan_complementary` retient les clients à qui ce produit irait bien en complément, et `titan_replenishment` ceux qui devraient bientôt le racheter.

Titane ne crée pas de segment « TITAN · … » chez SAP Emarsys : vous construisez ceux dont vous avez besoin. Un champ vide ne remplit aucune condition, sauf **Is empty**.

## Déclencher

Dans **Automation** › **Automation Programs** › **Create Program**, partez d'un parcours par audience (**Audience-based journeys**). Deux entrées servent avec Titane :

* **Data Change** : le programme part quand un champ change de valeur, par exemple `titan_cycle`. Un **Quick Filter** juste après ne garde que la valeur qui vous intéresse, comme `DECROCHAGE`.
* **Recurring** : le programme passe chaque jour sur un segment, par exemple les clients dont `titan_reassort` est égal à `du`. Réglez **Participation**, en bas du canevas, avant de lancer le programme : elle ne se change plus ensuite.

<Warning>
  Titane met les champs à jour **la nuit**, et **Data Change** part dans la foulée. SAP recommande une attente (**Wait**) d'un quart d'heure juste après l'entrée ; ajoutez-en une de quelques heures avant le premier e-mail, pour qu'il n'arrive pas en pleine nuit.
</Warning>

<Note>
  **Data Change** ne prend que les clients dont le champ **change** après le lancement. Ceux qui sont déjà dans la situation n'y entrent pas : pour eux, envoyez une fois une campagne ciblée sur le même segment.
</Note>

## Les modèles TITAN de vos cas d'usage

Chaque cas d'usage s'appuie sur un modèle TITAN : **TITAN-REC** choisit la sélection personnalisée de chaque client, **TITAN-CORE** situe chaque client dans son parcours et repère ses réassorts.

| Cas d'usage | Modèle TITAN | Les champs du contact |
| - | - | - |
| [Envoyer une sélection personnalisée](/crm/emarsys/selection-personnalisee) | TITAN-REC | `titan_reco_1_…` à `titan_reco_5_…` |
| [Reconquérir les clients qui décrochent](/crm/emarsys/reconquete) | TITAN-REC | `titan_cycle` pour déclencher, `titan_reco_*` pour les produits |
| [Rappeler un réassort](/crm/emarsys/reassort) | TITAN-CORE | `titan_reassort`, `titan_prochain_reassort` |
| [Provoquer la deuxième commande](/crm/emarsys/deuxieme-commande) | TITAN-CORE | `titan_parcours`, `titan_recence` |

Les compléments du dernier achat (**TITAN-LINK**) arrivent chez SAP Emarsys dans la liste `titan_complementary` : de quoi cibler les clients à qui un produit irait bien, mais pas de quoi afficher ces compléments dans un e-mail. Le même tableau, pour tous les CRM, est dans [Les recommandations produits](/livre/recommandations#sur-le-profil-de-chaque-client).

## Quatre cas d'usage

<Columns cols={2}>
  <Card title="Envoyer une sélection personnalisée" icon="sparkles" href="/crm/emarsys/selection-personnalisee">
    Un e-mail où chaque client voit ses propres produits.
  </Card>

  <Card title="Reconquérir les clients qui décrochent" icon="heart-handshake" href="/crm/emarsys/reconquete">
    Un programme qui part dès qu'un client sort de son rythme.
  </Card>

  <Card title="Rappeler un réassort" icon="refresh-cw" href="/crm/emarsys/reassort">
    Un rappel quand un produit arrive à épuisement.
  </Card>

  <Card title="Provoquer la deuxième commande" icon="repeat-2" href="/crm/emarsys/deuxieme-commande">
    Faire revenir les clients d'une seule commande, au bon moment.
  </Card>
</Columns>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.