Documentation menu

Génération de codes de réduction natifs à la boutique

MailInApp prend en charge la génération dynamique de codes de réduction natifs à la boutique pour les boutiques Shopify et WooCommerce connectées.

Plutôt que de forcer les acheteurs à passer par un paiement tiers ou des coupons publics génériques, MailInApp génère automatiquement des codes de réduction à usage unique, restreints au client, directement sur votre boutique au moment de l'envoi — via l'un ou l'autre de deux mécanismes indépendants, qu'un même projet peut utiliser ensemble, séparément, ou pas du tout :

  • Offre de réduction au niveau du projet — un paramètre de la page d'envoi qui génère un code par destinataire correspondant, portant sur toute votre boutique ou sur un seul produit choisi dans une liste déroulante, conçu pour s'associer à un segment d'audience Historique d'achat. Voir Offre de réduction.
  • Réduction par produit du bloc Produit — un commutateur sur le bloc Produit du Studio lui-même, portant exactement sur l'article que ce bloc a importé depuis votre catalogue, sans nécessiter aucun filtre d'audience ni configuration sur la page d'envoi. Détaillé de bout en bout dans Codes de réduction produit Shopify et Codes de réduction produit WooCommerce.

Les deux génèrent via la même connexion de boutique sous-jacente et partagent la mécanique décrite ci-dessous ; une réduction par produit se contente en plus de restreindre le code à un seul article et conserve son propre marqueur de délai de repos, distinct de celui de l'offre au niveau du projet et de celui de chaque autre bloc Produit.


Comment ça fonctionne

Lorsqu'une campagne ou un parcours inclut une offre de réduction :

  1. Résolution dynamique du client :
    • Shopify : résout l'identifiant GraphQL client (gid://shopify/Customer/...) du destinataire via Admin GraphQL avant de générer le nœud de réduction.
    • WooCommerce : restreint le coupon généré à l'adresse email exacte du destinataire via l'API REST de WooCommerce.
  2. Usage unique et sécurisé :
    • Les codes portent des suffixes cryptographiques aléatoires (par ex. MIA-7F3A91B2).
    • Chaque code est restreint à un usage unique (usage_limit: 1) et lié exclusivement à l'adresse email du destinataire, ce qui empêche toute fuite de coupon vers des sites de bons plans.
  3. Portée produit facultative :
    • Un code généré à l'échelle de la boutique s'applique à tout achat. Un code limité à un produit — via le sélecteur de portée propre à l'offre au niveau du projet, ou la réduction par produit d'un bloc Produit — est restreint à ce seul article : Shopify via customerGets.items.products.productsToAdd sur un véritable GID de produit, WooCommerce via le champ product_ids du coupon.
  4. Pré-application au paiement de la boutique :
    • Le lien d'un code portant sur toute la boutique ou sur le projet l'applique à votre paiement générique (/cart/?coupon=MIA-... pour WooCommerce, /discount/MIA-... redirigeant vers / pour Shopify).
    • La réduction par produit propre à un bloc Produit ramène en revanche l'acheteur directement sur la page propre à ce produit, avec le code déjà appliqué (?coupon=MIA-... ajouté à l'URL du produit pour WooCommerce ; /discount/MIA-...?redirect=<product path> pour Shopify) — pas la racine de la boutique, puisque l'email le dirigeait vers un article précis.

Types d'offres prises en charge

  • Réduction en pourcentage : par ex. 15 % ou 20 % de réduction sur toute la boutique, une collection, ou un seul produit.
  • Réduction en montant fixe : par ex. 10 $ ou 25 $ de réduction sur la valeur totale du panier, ou sur un seul produit.
  • Fenêtres d'expiration : les codes portent une date d'expiration calculée automatiquement (par ex. 7 ou 14 jours après l'envoi), ce qui impose une urgence sur la boutique du marchand.
  • Délais de repos par compte : des marqueurs de délai de repos intégrés empêchent de suroffrir des coupons au même contact sur plusieurs programmations ou projets — un marqueur pour l'offre au niveau du projet, et un autre distinct par bloc Produit, de sorte que réduire un produit ne bloque jamais le délai de repos d'un autre produit ni celui de l'offre au niveau du projet.

Configuration et intégration API

  • Shopify : nécessite des identifiants de boutique connectée avec le scope write_discounts (géré lors de la connexion OAuth).
  • WooCommerce : nécessite une clé consommateur et un secret d'API REST de boutique connectée avec permissions de lecture/écriture.

La réduction par produit d'un bloc Produit nécessite en outre que ce bloc ait un véritable produit importé via son sélecteur Importer depuis la boutique (et non une URL externe saisie manuellement) — la génération a besoin de l'identifiant numérique propre à votre boutique pour restreindre le code à ce produit.