Contacts et envoi depuis MailInApp
Au-delà de l'export du HTML pour votre ESP, vous pouvez envoyer des emails terminés directement depuis le tableau de bord — à un seul contact, une sélection, ou une liste entière. La livraison passe toujours par votre propre relais SMTP, afin que votre domaine d'envoi et votre réputation restent les vôtres.
Listes de contacts
L'onglet Contacts contient vos listes. Chaque liste a une colonne email (c'est ce qui la rend envoyable) plus toutes les colonnes que vous voulez — nom, forfait, ville — et chaque colonne fait aussi office de balise de fusion {{field}} dans le studio.
Une liste de contacts est une source de données comme une autre. Connectez-la dans le panneau Données du studio avec le rôle Audience, et elle devient à la fois le destinataire de l'email et l'endroit où les balises de fusion {{field}} nues obtiennent leurs valeurs par destinataire — le canevas s'aperçoit avec de vraies données de contact. Voir Sources de données et balises de fusion.
Importer un CSV
Vous avez déjà vos contacts ailleurs ? Importer un CSV (sur l'onglet Contacts, ou à l'intérieur d'une liste pour y ajouter des données) accepte les fichiers exportés par les ESP et les feuilles de calcul : séparés par des virgules, des points-virgules ou des tabulations, avec une ligne d'en-tête. Les valeurs entre guillemets, les BOM Excel et les échappements "" sont gérés.
Les noms d'en-tête deviennent vos colonnes. Si aucune colonne n'est nommée email, l'import recherche la colonne qui contient réellement des adresses (par ex. « E-Mail Address ») et l'utilise comme colonne email. Rien n'est stocké avant que vous ne cliquiez sur enregistrer, afin que vous puissiez d'abord vérifier — et corriger — le tableau.
Exporter un CSV
Télécharger le CSV sur une liste (et sur le panneau de suppression) vous donne une sauvegarde instantanée à tout moment — utile avant un gros envoi filtré, ou simplement pour conserver une copie hors plateforme. Il passe par le même importeur que ci-dessus.
Configurer l'envoi une fois
Les envois directs nécessitent une méthode d'envoi configurée sous Paramètres, de l'une des deux façons suivantes :
- Pas encore d'ESP ? Vérifiez votre propre domaine et MailInApp envoie en votre nom — pas d'identifiants SMTP à générer ou à faire tourner. C'est la valeur par défaut recommandée si vous n'avez pas déjà de fournisseur compatible SMTP.
- Vous avez déjà un ESP ? Pointez MailInApp vers son relais SMTP — SendGrid, Brevo, Mailgun, Amazon SES, même un mot de passe d'application Gmail pour de petits tests. Tout fournisseur avec un endpoint SMTP fonctionne. Utilisez Tester et enregistrer pour vérifier la connexion avant votre premier envoi. Votre mot de passe SMTP est un identifiant : il est stocké uniquement côté serveur et revient masqué partout.
Les deux méthodes alimentent le même pipeline d'envoi — les envois manuels, les envois programmés, et tout le reste sur cette page se comportent de façon identique dans les deux cas.
Envoyez d'abord un test
Avant d'envoyer à votre liste, utilisez Envoyer un test pour vous envoyer (ou envoyer à n'importe qui) une copie entièrement rendue. Il est prérempli avec l'email de votre compte, préfixé [Test] dans le sujet, et porte un vrai lien de vue en direct fonctionnel, afin que les blocs interactifs soient réellement testables. Un envoi de test ne touche pas votre source de données, ne compte pas dans le plafond de 200 destinataires, et n'apparaît pas dans l'historique des envois.
Envoi
Depuis la carte d'un email sur le tableau de bord, cliquez sur Envoyer :
- Les destinataires proviennent de l'audience de l'email — la liste de contacts connectée avec le rôle Audience dans le panneau Données du studio. Pas encore de liste liée ? Choisissez-en une directement là.
- Choisissez tout le monde, ou cochez des contacts individuels — envoyer à un seul contact n'est qu'une sélection d'une ligne. Les lignes à qui vous avez déjà envoyé sont étiquetées avec la date de leur dernier envoi, afin que vous ne perdiez pas la trace de qui a été atteint (ceci est purement informatif — cela ne change pas votre sélection pour vous).
- Définissez le sujet (les balises de fusion fonctionnent là aussi, et ✨ Suggérer rédige quelques options avec l'IA — voir Texte assisté par IA) et envoyez.
Chaque destinataire obtient son propre email compilé : balises de fusion résolues à partir de sa ligne, et un lien de vue en direct personnel signé. Les blocs interactifs se rendent dans leur niveau de repli statique avec des interactions basées sur des liens en priorité. Les options de sondage et les notations sont des liens qui confirment avant l'enregistrement ; les formulaires et carrousels ouvrent la vue en direct hébergée. L'email fonctionne dans tous les clients, et rien n'est jamais enregistré à partir d'un simple préchargement de lien.
Test A/B
Ajoutez jusqu'à 4 variantes supplémentaires (2 à 5 au total) pour tester un envoi en A/B. Chaque variante peut changer le sujet, l'identité de l'expéditeur, ou, en la faisant pointer vers un projet différent, l'ensemble du contenu de l'email. Chaque destinataire se voit attribuer une variante de façon déterministe selon son adresse email, donc les nouvelles tentatives et renvois ne rebrassent jamais qui a vu laquelle.
Activez éventuellement Choisir un gagnant automatiquement pour n'envoyer d'abord qu'à un échantillon et laisser MailInApp envoyer la variante la plus performante à tous les autres une fois que suffisamment de données arrivent. Voir Test A/B et gagnants automatiques. Les envois récurrents restent à variante unique pour l'instant ; il n'y a pas de sélecteur de variante sur le formulaire de programmation.
Segmenter votre audience
Au-dessus de la liste des destinataires, le filtre d'audience construit une règle (par ex. ticket_status = Resolved et resolved_date dans les 7 derniers jours) selon les champs de votre source de données, puis Appliquer le filtre à la sélection définit votre sélection sur tout ce qui correspond actuellement — un segment évolutif au lieu d'une sélection manuelle ponctuelle. Combinez les règles avec ET/OU de la même façon que vous le faites déjà pour les conditions de visibilité d'un bloc dans le studio.
Lancement progressif d'un envoi
Le lancement progressif échantillonne une tranche aléatoire de votre sélection actuelle — définissez un pourcentage et cliquez sur Échantillonner pour envoyer d'abord à cette fraction. Une fois satisfait des résultats, Sélectionner le reste (pas encore envoyé) récupère tout le monde dans la liste qui n'a pas encore reçu cet email, afin que la vague de suivi n'envoie jamais deux fois à l'échantillon.
Offre de réduction
Une fois que la liste de contacts d'une audience a une boutique Shopify ou WooCommerce connectée, la palette de blocs du studio propose un bloc Réduction e-commerce — le pendant d'un segment Historique d'achats : cibler les acheteurs passés, puis leur offrir réellement quelque chose. Déposez-le n'importe où dans l'email comme tout autre bloc ; il est invisible dans la palette jusqu'à ce qu'une boutique soit connectée.
Définissez un pourcentage ou un montant fixe de réduction, combien de jours le code reste valide, combien de jours attendre avant d'en offrir un autre au même contact, et, optionnellement, une Portée — un sélecteur consultable sur votre catalogue de produits synchronisé — pour la restreindre à un seul produit plutôt qu'à toute la boutique. Juste avant que l'email de chaque destinataire correspondant ne se rende, MailInApp crée un vrai code de réduction à usage unique sur votre propre boutique connectée (un code de réduction Shopify ou un coupon WooCommerce, restreint à l'email de ce client précis) et construit autour de lui l'affichage du code et le bouton « Acheter maintenant » propres au bloc — il n'y a aucune balise de fusion à placer à la main. Activer Afficher le compte à rebours d'expiration ajoute une image de compte à rebours en direct à la même carte, calée sur l'expiration du code.
Quelques points à connaître :
- L'utilisation du code se fait entièrement sur le paiement de votre propre boutique — pas le paiement du bloc Produit de MailInApp lui-même. Ceci est délibéré : une audience segmentée à partir d'achats réels en boutique y fait déjà ses achats, donc la réduction réutilise le stock, les taxes et les règles de tarification existants de cette boutique plutôt qu'un second point de vente.
- Chaque bloc crée son code et applique son délai d'attente indépendamment, associé à ce bloc précis — déposer plus d'un bloc de réduction dans le même email (ou réutiliser le bloc entre plusieurs projets) ne bloque jamais le code d'un autre.
- La commande d'un destinataire s'attribue toujours à la campagne qui a envoyé le code, de la même façon que n'importe quel autre clic vers la boutique — voir Suivi des commandes, paiements et revenus Shopify.
- Si la création du code échoue pour un destinataire (une boutique n'est pas connectée, ou un jeton doit être reconnecté), l'email de ce destinataire est envoyé quand même — simplement avec l'étiquette de repli simple du bloc au lieu d'un vrai code. Rien dans un bloc de réduction ne peut bloquer un envoi.
- Les programmations récurrentes gèrent cela de la même façon qu'un envoi manuel, en créant un nouveau code à chaque exécution — une programmation à fenêtre glissante ne distribue jamais un code périmé d'une occurrence antérieure.
- Pour une réduction liée à un produit spécifique sans aucun filtre d'audience, le bloc Produit dispose plutôt de son propre commutateur indépendant Réduction par produit — voir Réductions natives à la boutique pour la comparaison des deux approches, et Codes de réduction produit Shopify / Codes de réduction produit WooCommerce pour un tutoriel.
Envois récurrents
Certaines audiences changent avec le temps — « résolu il y a 3 à 7 jours » correspond à des lignes différentes chaque jour. Un envoi récurrent réévalue votre filtre d'audience par rapport aux lignes actuelles de la source de données liée selon une programmation (quotidienne ou hebdomadaire, à une heure UTC de votre choix). Il n'envoie qu'aux correspondances n'ayant pas déjà reçu cet email, reprenant là où la dernière exécution s'est arrêtée. Chaque exécution écrit un enregistrement normal d'historique d'envoi, comme un envoi manuel. Une programmation dont le relais échoue pour chaque destinataire pendant trois exécutions consécutives se désactive automatiquement plutôt que d'épuiser silencieusement votre liste.
Une programmation peut aussi être Une fois (à une date) plutôt qu'une cadence récurrente — un envoi ponctuel qui se déclenche à une date précise du calendrier puis se désactive, plutôt que de se répéter. C'est le même mécanisme que celui utilisé en interne par le bouton Programmer cet envoi du Calendrier de campagnes sur 12 mois : choisissez une date sur le calendrier, et cela crée une programmation ponctuelle ciblant ce projet pour ce jour précis, afin que vous n'ayez pas à revenir l'envoyer à la main lorsque la date arrive.
Envoyer des contacts depuis votre service d'assistance ou CRM
Plutôt que de réexporter un CSV avant chaque envoi, une liste de contacts peut accepter des envois directs (push). Créez une clé API pour la liste sous ses paramètres dans l'onglet Contacts, puis faites appeler par votre propre système (une automatisation de service d'assistance, un flux CRM) :
POST /api/datasources/<datasourceId>/rows
Authorization: Bearer <apiKey>
Content-Type: application/json
{ "rows": [{ "email": "[email protected]", "ticket_status": "Resolved" }] }
Les lignes sont upsertées sur l'email en minuscules — une adresse connue se met à jour en place, une nouvelle s'ajoute — et les lignes existantes ne sont jamais réordonnées ni supprimées, puisque l'attribution des réponses est positionnelle (row:<n>) et que réordonner casserait les jointures historiques. Les lots sont plafonnés à 500 lignes et limités en fréquence par clé. La clé est affichée une fois lors de sa création (ou régénération) et masquée partout ensuite, comme tout autre identifiant dans MailInApp ; Révoquer désactive l'intégration sans toucher aux lignes existantes.
Historique des envois
Chaque envoi réel (pas les envois de test) est enregistré et affiché au-dessus du sélecteur de destinataires — date, sujet, et combien ont été envoyés, ont échoué, ou ont été ignorés. Rien n'est jamais supprimé côté client lors d'une actualisation ; l'historique est la source de vérité de ce qui est réellement parti.
Désabonnement et suppression
Le préréglage Pied de page inclut une balise de fusion {{unsubscribe_url}} qui résout vers une page de désabonnement en un clic pour ce destinataire précis. Le désabonnement est à l'échelle du compte : il supprime l'adresse de tous les projets depuis lesquels vous envoyez, pas seulement celui depuis lequel il a cliqué — un destinataire n'a donc jamais à se désabonner de chaque campagne séparément.
Les adresses que votre relais SMTP rejette de façon synchrone au moment de l'envoi (boîte invalide, refus du relais) sont supprimées de la même façon, afin qu'une adresse morte ne soit pas retentée à chaque envoi futur. (Un relais acceptant un message puis le faisant rebondir plus tard, de façon asynchrone, n'est pas observable sans un webhook spécifique à l'ESP — cela sort du cadre actuel.)
Les adresses supprimées affichent un badge rebondi ou désabonné sur l'onglet Contacts. Les deux sont réabonnables — une boîte pleine ou un clic accidentel n'est pas nécessairement permanent — et les lignes supprimées sont automatiquement ignorées (et signalées séparément des échecs) lors des envois futurs.
Après l'envoi
Exactement comme un envoi via ESP : les interactions affluent vers les réponses, regroupées par contact, et votre webhook se déclenche par événement si vous en avez configuré un.
Limites
- Jusqu'à 200 destinataires par envoi (une liste, une exécution d'une programmation récurrente). Pour des audiences plus grandes, utilisez le flux d'export et d'ESP ; un envoi récurrent rattrape aussi simplement le reste lors de sa prochaine exécution.
- Les lignes sans adresse email valide sont ignorées et signalées après l'envoi.
- Importer un CSV supprime les lignes dont l'adresse email est déjà apparue plus tôt dans ce même fichier, afin que réimporter un export qui se chevauche ne crée pas d'envois en double — vous verrez un avis « N e-mail(s) en double ignoré(s) ».
- L'API de push des contacts plafonne chaque lot à 500 lignes.