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

# Envoyer une sélection personnalisée

> Une campagne Klaviyo où chaque destinataire reçoit les cinq produits que Titane a choisis pour lui.

export const PRODUITS = {
  serum: {
    nom: "Sérum rééquilibrant niacinamide",
    prix: "24,90 €",
    image: "/images/pure/serum.jpg"
  },
  gel: {
    nom: "Gel nettoyant doux",
    prix: "14,90 €",
    image: "/images/pure/gel-nettoyant.jpg"
  },
  solaire: {
    nom: "Lait frais solaire SPF 50",
    prix: "19,90 €",
    image: "/images/pure/solaire.jpg"
  },
  baume: {
    nom: "Baume lèvres repulpant",
    prix: "8,90 €",
    image: "/images/pure/baume-levres.jpg"
  },
  huile: {
    nom: "Huile corps nourrissante",
    prix: "22,90 €",
    image: "/images/pure/huile-corps.jpg"
  },
  dentifrice: {
    nom: "Dentifrice éclat minéral",
    prix: "6,90 €",
    image: "/images/pure/dentifrice.jpg"
  },
  deodorant: {
    nom: "Déodorant stick néroli blanc",
    prix: "11,90 €",
    image: "/images/pure/deodorant-stick.jpg"
  },
  recharge: {
    nom: "Recharge déodorant roll-on 24 h",
    prix: "7,90 €",
    image: "/images/pure/recharge-roll-on.jpg"
  },
  masque: {
    nom: "Masque stick argile rose",
    prix: "16,90 €",
    image: "/images/pure/masque-stick.jpg"
  },
  duo: {
    nom: "Duo rituel du matin",
    prix: "29,90 €",
    image: "/images/pure/duo-matin.jpg"
  }
};

export const ApercuEmail = ({objet, preheader, titre, accroche, titreSelection, produits = [], cta = "Découvrir", pied, logiciel, colonnes}) => <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",
  fontSize: 13,
  lineHeight: 1.5
}}>
      <div><span style={{
  opacity: 0.6
}}>De :</span> Pure &lt;bonjour@pure.example&gt;</div>
      <div><span style={{
  opacity: 0.6
}}>Objet :</span> <strong>{objet}</strong></div>
      {preheader ? <div style={{
  opacity: 0.6
}}>{preheader}</div> : null}
    </div>
    <div style={{
  background: "#F7F5F0",
  color: "#1C1A16",
  padding: "28px 20px",
  fontFamily: "Helvetica, Arial, sans-serif"
}}>
      <div style={{
  textAlign: "center",
  fontFamily: "Georgia, 'Times New Roman', serif",
  fontSize: 34,
  letterSpacing: "-0.02em",
  marginBottom: 22
}}>pure</div>
      <div style={{
  textAlign: "center",
  fontSize: 22,
  fontWeight: 700,
  marginBottom: 10
}}>{titre}</div>
      <div style={{
  textAlign: "center",
  fontSize: 15,
  lineHeight: 1.6,
  maxWidth: 440,
  margin: "0 auto 22px"
}}>{accroche}</div>
      <div style={{
  textAlign: "center",
  fontSize: 12,
  letterSpacing: "0.12em",
  textTransform: "uppercase",
  opacity: 0.7,
  marginBottom: 14
}}>{titreSelection}</div>
      <div style={{
  display: "grid",
  gridTemplateColumns: `repeat(${colonnes || Math.min(produits.length, 3) || 1}, minmax(0, 1fr))`,
  gap: 14
}}>
        {produits.map(p => <div key={p.nom} style={{
  background: "#FFFFFF",
  borderRadius: 10,
  padding: 10,
  textAlign: "center"
}}>
            <img src={p.image} alt={p.nom} style={{
  width: "100%",
  aspectRatio: "4 / 5",
  objectFit: "cover",
  borderRadius: 6,
  margin: 0
}} />
            <div style={{
  fontSize: 13,
  fontWeight: 600,
  marginTop: 8,
  lineHeight: 1.35
}}>{p.nom}</div>
            <div style={{
  fontSize: 13,
  marginTop: 4
}}>{p.prix}</div>
          </div>)}
      </div>
      <div style={{
  textAlign: "center",
  marginTop: 22
}}>
        <span style={{
  display: "inline-block",
  background: "#1E4A45",
  color: "#F7F5F0",
  padding: "12px 26px",
  borderRadius: 999,
  fontSize: 14,
  fontWeight: 600
}}>{cta}</span>
      </div>
      {pied ? <div style={{
  textAlign: "center",
  fontSize: 11,
  opacity: 0.6,
  marginTop: 24,
  lineHeight: 1.5
}}>{pied}<br />Se désinscrire</div> : null}
    </div>
    {logiciel ? <div style={{
  padding: "8px 16px",
  fontSize: 12,
  opacity: 0.65
}}>Aperçu d'un envoi depuis {logiciel}, marque de démonstration « Pure ».</div> : null}
  </div>;

**L'objectif :** une campagne régulière, par exemple mensuelle, qui montre à chaque client **sa** sélection plutôt qu'une vitrine identique pour tous.

**Ce qu'il vous faut :** le modèle « Titane - Recos personnalisées » et les propriétés `titan_reco_*` sur vos profils.

**Temps :** 15 minutes.

## Le résultat

<ApercuEmail logiciel="Klaviyo, modèle « Titane - Recos personnalisées »" objet="Votre sélection d'octobre" preheader="Cinq produits choisis pour vous." titre="Votre sélection personnalisée" accroche="Bonjour Léa, voici quelques produits que nous avons choisis pour vous ce mois-ci." titreSelection="Votre sélection du moment" produits={[PRODUITS.recharge, PRODUITS.deodorant, PRODUITS.dentifrice, PRODUITS.gel, PRODUITS.baume]} cta="Découvrir la boutique" pied="Vous recevez cet e-mail parce que vous êtes client de Pure." />

Le destinataire suivant recevra le même e-mail, avec **d'autres produits**.

## Pas à pas

<Steps>
  <Step title="Créer le segment des destinataires">
    **Audience** › **Lists & segments** › **Create new** › **Segment**. Nommez-le « Sélection personnalisée ».

    Condition : **Properties about someone** › `titan_reco_1_id` › **is set**. Ajoutez, avec **AND**, la condition **Can receive email marketing**.

    Vous ciblez ainsi tous les clients joignables qui ont une sélection.
  </Step>

  <Step title="Créer la campagne">
    **Campaigns** › **Create campaign**. Nommez-la, choisissez **Email**, puis dans **Send to** le segment « Sélection personnalisée ».
  </Step>

  <Step title="Choisir le modèle Titane">
    Dans le contenu, **Select template** › onglet de vos modèles enregistrés › **Titane - Recos personnalisées**.
  </Step>

  <Step title="Écrire vos textes">
    Objet, préheader, titre, accroche : écrivez-les dans votre ton. Ne touchez pas au bloc de produits, qui affiche la sélection de chaque destinataire.
  </Step>

  <Step title="Prévisualiser avec de vrais profils">
    **Preview and test** › cherchez deux ou trois profils de votre segment. Les produits doivent changer d'un profil à l'autre.
  </Step>

  <Step title="Programmer l'envoi">
    Gardez **Smart Sending** activé pour ne pas solliciter un client trop souvent, puis programmez l'envoi.
  </Step>
</Steps>

## Pour aller plus loin

<AccordionGroup>
  <Accordion title="Adapter le message au palier de valeur" icon="gem">
    Dupliquez la campagne : une version pour `titan_valeur` égal à `haute`, avec un ton plus premium et sans remise, une autre pour le reste de votre base.
  </Accordion>

  <Accordion title="Envoyer au bon moment pour chacun" icon="clock">
    Ajoutez la condition `titan_contacter_sous_j` **is less than** 15 pour ne viser que les clients dont c'est le moment, et refaites la campagne toutes les deux semaines.
  </Accordion>

  <Accordion title="Construire votre propre bloc de produits" icon="code">
    Dans n'importe quel modèle, les propriétés du profil s'affichent avec `{{ person|lookup:'titan_reco_1_nom' }}`, `{{ person|lookup:'titan_reco_1_prix' }}`, `{{ person|lookup:'titan_reco_1_image' }}` et `{{ person|lookup:'titan_reco_1_url' }}`, de 1 à 5.
  </Accordion>
</AccordionGroup>

<Tip>
  Comparez le taux de commande de cette campagne à celui de vos newsletters habituelles sur la même période : c'est la façon la plus simple de voir ce que la personnalisation change.
</Tip>


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