> ## 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.

# Batch : bien démarrer

> Brancher Batch à La Forge, confirmer les champs Titane dans votre projet, puis vous en servir pour cibler, déclencher et personnaliser vos messages.

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"],
    shopify: ["Shopify", "Boutique en ligne"],
    woocommerce: ["WooCommerce", "Boutique en ligne"],
    prestashop: ["PrestaShop", "Boutique en ligne"],
    magento: ["Magento", "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="batch" />

## Brancher Batch

Titane se branche à Batch par **deux clés**, qui se trouvent sur la même page de votre tableau de bord.

<Steps>
  <Step title="Ouvrir les réglages du projet">
    Dans le tableau de bord Batch, choisissez le projet de votre boutique, puis **Settings** › **General**.
  </Step>

  <Step title="Copier la clé du projet">
    Copiez la **Project Key**.
  </Step>

  <Step title="Copier la clé REST">
    Dans **API Keys**, copiez la **REST API Key**. Seuls les comptes qui ont le droit **Administrate** la voient : si elle affiche « Insufficient privileges », demandez-la à l'administrateur du compte.
  </Step>

  <Step title="Les coller dans La Forge">
    Dans La Forge, page **Données**, carte **Batch**, collez les deux clés. La Forge vérifie l'accès tout de suite.
  </Step>
</Steps>

<Note>
  Batch n'a qu'**une clé REST par entreprise**, et elle donne accès à tout le compte. Titane ne s'en sert que pour lire vos profils et y écrire les champs `titan_*` : il n'envoie aucun message, ne crée aucun profil et n'en supprime aucun.
</Note>

## Les profils que Titane met à jour

Titane écrit sur les profils Batch qui portent à la fois :

* un **Custom ID**, l'identifiant client que votre application ou votre site transmet à Batch ;
* l'**adresse e-mail**, ou le numéro de téléphone, d'un client de votre boutique.

Un profil sans Custom ID, ou qui ne correspond à aucun client de la boutique, n'est pas touché. Titane ne crée jamais de profil chez Batch.

## Confirmer les champs Titane

Batch met de côté les attributs qu'il reçoit pour la première fois : tant que vous ne les avez pas confirmés, ils n'apparaissent ni dans le ciblage ni dans la personnalisation. À faire une fois, après la première nuit en [mode réel](/demarrer/mode-reel).

<Steps>
  <Step title="Ouvrir les données du profil">
    **Data** › **Profile data**, onglet **Attributes**.
  </Step>

  <Step title="Confirmer">
    Repérez les attributs `titan_*`, puis cliquez **Confirm all**.
  </Step>

  <Step title="S'il en manque">
    Cliquez **View Archived** : un attribut archivé se remet en service avec **Restore**.
  </Step>
</Steps>

## Ce que vous retrouvez dans Batch

Ouvrez un profil : les champs Titane sont parmi ses attributs, sous **les noms de la [référence](/livre/reference-champs)**, en minuscules.

<ApercuProfil
  logiciel="Batch"
  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", "21 oct. 2026"],
["titan_reco_1_nom", "Sérum rééquilibrant niacinamide"],
["titan_reco_1_prix", "24,90 €"],
["titan_asof", "6 oct. 2026"]
]}
/>

Chez Batch, Titane écrit les indicateurs, les axes d'audience et la **sélection personnalisée** de chaque client. Les compléments d'un achat et le détail des produits en réassort ne sont pas écrits chez Batch : seule la date du prochain réassort l'est.

Chaque champ arrive avec son type Batch :

| Champs | Type chez Batch | Ce que ça change |
| - | - | - |
| `titan_prochain_achat`, `titan_prochain_reassort`, `titan_asof` | date | Un ciblage du type « dans 3 jours » ou « il y a 0 jour », et la mise en forme avec `formatDate` |
| `titan_reco_{n}_image`, `titan_reco_{n}_url` | URL | Une image ou un lien dans un message, mais pas un déclencheur |
| les nombres (`titan_churn`, `titan_commandes`…) | nombre | Des conditions « supérieur à », « inférieur à » |
| tous les autres | texte | Des conditions « égal à », et des déclencheurs sur changement de valeur |

Un champ vide est **retiré** du profil : un client sans résultat n'a pas l'attribut, ce qui n'est pas un zéro.

### Pas de modèle Titane chez Batch

Titane ne pose pas de modèle chez Batch : vous composez vos push, vos e-mails et vos messages dans Batch, et vous y insérez les champs Titane, avec le bouton **`{...}`** (Insert Variable) ou directement :

```text theme={null}
{{ titan_reco_1_nom }} à {{ titan_reco_1_prix }}
```

Pour un texte de repli quand le champ est vide : `{{ titan_reco_1_nom|default('nos nouveautés') }}`.

### Cibler

Dans le ciblage d'une campagne ou d'une automatisation, **Add conditions** : chaque champ `titan_*` s'utilise comme vos autres attributs. Des idées de cibles sont dans [Les segments Titane](/livre/segments).

### Déclencher

Deux façons de faire partir un message au bon moment :

* une **Trigger Automation** avec l'**Attribute Change Trigger** : elle part quand un champ texte change de valeur, par exemple `titan_cycle` qui passe à `DECROCHAGE` ;
* une **Recurring Automation**, une fois par jour, sur une cible : par exemple les clients dont `titan_prochain_reassort` tombe aujourd'hui.

<Warning>
  Titane met les champs à jour **la nuit**, et Batch déclenche dans la foulée. Ajoutez une étape **Wait until** (par exemple 10 h) avant le premier message, pour qu'il n'arrive pas en pleine nuit.
</Warning>

## 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, estime sa valeur et son risque, et repère ses réassorts.

| Cas d'usage | Modèle TITAN | Les attributs du profil |
| - | - | - |
| [Envoyer une sélection personnalisée](/crm/batch/selection-personnalisee) | TITAN-REC | `titan_reco_1_…` à `titan_reco_5_…` |
| [Reconquérir les clients qui décrochent](/crm/batch/reconquete) | TITAN-REC | `titan_cycle` pour déclencher, `titan_reco_*` pour les produits |
| [Rappeler un réassort](/crm/batch/reassort) | TITAN-CORE | `titan_reassort`, `titan_prochain_reassort` |
| [Provoquer la deuxième commande](/crm/batch/deuxieme-commande) | TITAN-CORE | `titan_parcours`, `titan_fenetre` |
| [Accueillir dans l'application](/crm/batch/in-app) | TITAN-CORE | `titan_valeur`, `titan_risque` |

Les compléments d'un achat (**TITAN-LINK**) ne sont pas écrits chez Batch : pour vendre en complément, servez-vous des blocs de votre site. Le même tableau, pour les quatre CRM, est dans [Les recommandations produits](/livre/recommandations#sur-le-profil-de-chaque-client).

## Cinq cas d'usage

<Columns cols={2}>
  <Card title="Envoyer une sélection personnalisée" icon="sparkles" href="/crm/batch/selection-personnalisee">
    Un push et 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/batch/reconquete">
    Une automatisation qui part dès qu'un client sort de son rythme.
  </Card>

  <Card title="Rappeler un réassort" icon="refresh-cw" href="/crm/batch/reassort">
    Un rappel le jour où un produit arrive à épuisement.
  </Card>

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

  <Card title="Accueillir dans l'application" icon="smartphone" href="/crm/batch/in-app">
    Un message à l'ouverture de l'application pour les clients qu'il faut retenir.
  </Card>
</Columns>


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