Tout ce qu'Elido fait
Pro & Business

Suivi des conversions. Attribuez chaque euro au clic qui l'a généré.

Les récepteurs de webhooks Stripe et Shopify vérifient les signatures et relient les revenus au lien court d'origine. L'attribution de campagne est dérivée automatiquement.

  • Attribution Stripe & Shopify côté serveur
  • Passthrough de click_id - sans JS côté client
  • Revenus par lien, campagne, jour, plateforme
  • Vérification automatique de signature HMAC
elido.app - attribution de conversion
elido.me/saleClicclick_id défini?elido_cid=a3f9…cookie: cid=a3f9…Stripe Checkoutclient_ref = a3f9…€ 99.00 payéwebhook checkout.session.completed+€99 attribués
Côté serveur, pas de trous de pixelHMAC vérifié
Côté serveur
Méthode d'attribution (sans perte de pixels)
<5s
Délai d'ingestion des événements de conversion
100%
Précision d'attribution (sans échantillonnage)
3
Destinations de transfert (GA4, Meta, Mixpanel)

Comment ça marche

Le click_id traverse tout l'entonnoir

Un UUID est tamponné au moment du clic et transmis à chaque étape - paramètre d'URL, cookie de session, session Stripe, commande Shopify - jusqu'à ce que le webhook se déclenche et boucle l'attribution côté serveur. Aucun JavaScript côté client n'est requis pour l'attribution elle-même.

  1. Étape 01

    Clic sur le lien court

    elido.me/sale

    Edge tamponne un UUID v4

    cid: a3f9c1…
  2. Étape 02

    click_id attaché

    ?elido_cid=a3f9c1…

    Paramètre d'URL + cookie first-party

    cid: a3f9c1…
  3. Étape 03

    L'utilisateur convertit

    client_reference_id=a3f9c1…

    La session Stripe porte le click_id

    cid: a3f9c1…
  4. Étape 04

    Le webhook se déclenche

    checkout.session.completed

    Revenu attribué au lien d'origine

    cid: a3f9c1…

Intégrations

Récepteurs de webhooks prêts à l'emploi pour Stripe et Shopify

Enregistrez l'endpoint dans votre tableau de bord, collez le secret de signature et l'attribution commence à circuler. La vérification de signature HMAC se fait avant tout traitement du payload - les webhooks falsifiés sont rejetés avant de toucher vos données.

Stripe
checkout.session.completed · payment_intent.succeeded
HMAC vérifié
Endpoint du webhook
POSThttps://api.elido.app/webhooks/stripe
1. Vérifier l'en-tête Stripe-Signature
2. Extraire client_reference_id → matcher avec click_id
3. Enregistrer le revenu sur le lien d'origine
Côté serveur, aucun JavaScript côté client requis
Shopify
orders/paid - déduplication de commandes incluse
HMAC vérifié
Endpoint du webhook
POSThttps://api.elido.app/webhooks/shopify
1. Vérifier l'en-tête X-Shopify-Hmac-Sha256
2. Lire click_id depuis note_attributes de la commande
3. Dédupliquer par ID de commande, attribuer le revenu
Côté serveur, aucun JavaScript côté client requis

Tableau de bord des revenus

Revenus par lien, par campagne, par jour

Chaque lien court a un total de revenus en direct - somme de toutes les valeurs de conversion attribuables via ce lien. Filtrez par tag de campagne, plage de dates ou plateforme. Exportez en CSV ou diffusez vers BigQuery via des exports planifiés.

  • Revenus par lien
    Valeurs de conversion sommées, toute devise, dans la dénomination d'origine
  • CVR dans le temps
    Série temporelle du taux de conversion à côté du volume de clics
  • Forwarding vers GA4 / Meta CAPI
    Renvoi asynchrone après enregistrement de la conversion
  • Déduplication
    Idempotent sur click_id + event_name - les webhooks doubles ne comptent pas double
Attribution de revenus - 30 derniers jours
En direct
Tendance des revenus168k total
LienClicsConv.RevenusCVR
elido.me/bfcm18,420847
76,280
4.6%
elido.me/sale11,034512
41,430
4.6%
elido.me/nl/shop8,901398
29,104
4.5%
elido.me/email-q26,201201
14,872
3.2%
elido.me/ig-bio5,03288
6,104
1.7%
Revenus totaux
167,790
Conversions totales
2,046
CVR moyen
4.1%

Ce que vous pouvez faire

  • Stripe checkout.session.completed
  • Stripe payment_intent.succeeded
  • Shopify orders/paid
  • Attribution de campagne dérivée du lien
  • Résumé des revenus dans le tableau de bord

Fonctionnement de l'attribution des conversions côté serveur de bout en bout

Les pixels côté client perdent 20 à 40 % des conversions en raison des bloqueurs de publicité, des restrictions de confidentialité iOS et des chaînes de redirection de paiement. L'attribution côté serveur comble cet écart.

Transfert du Click ID
01

Chaque clic reçoit un UUID transmis à la destination - le point d'ancrage d'attribution pour le suivi des conversions

Lorsqu'un utilisateur clique sur un lien court Elido, le système génère un click_id (UUID v4) et l'ajoute comme paramètre de requête (elido_cid) à l'URL de destination. Votre tunnel de paiement doit conserver ce paramètre à chaque étape - la plupart des routeurs SPA et des piles de paiement avec rendu serveur transfèrent les paramètres de requête inconnus par défaut, mais les paiements en plusieurs étapes avec des chaînes de redirection peuvent les supprimer. Le click_id est également stocké dans un cookie de session sur le domaine de destination si vous intégrez l'extrait d'attribution de 2 Ko d'Elido (facultatif). Testez le tunnel complet avant la mise en ligne : cliquez sur un lien court, effectuez un achat de test, vérifiez que l'elido_cid apparaît dans le POST de conversion. S'il n'apparaît pas, ajoutez le transfert des paramètres de requête dans votre middleware de paiement. C'est l'erreur de configuration d'attribution la plus courante - non pas le webhook, mais la perte du paramètre de requête lors du paiement.

Intégration Stripe
02

Le récepteur de webhook Stripe vérifie les signatures et attribue les événements checkout.session.completed et payment_intent.succeeded

Enregistrez le point de terminaison du webhook Stripe d'Elido dans votre tableau de bord Stripe (Paramètres → Webhooks → Ajouter un point de terminaison). Elido écoute les événements checkout.session.completed et payment_intent.succeeded. À chaque événement, Elido vérifie l'en-tête Stripe-Signature à l'aide de votre secret de signature de webhook, extrait le montant et la devise du paiement, recherche le click_id enregistré par rapport au client_reference_id de la session de paiement (que votre paiement doit remplir - voir le guide), et enregistre la conversion par rapport à ce clic. Le revenu et le click_id sont ensuite disponibles dans la vue analytique du lien et dans le résumé des revenus de la campagne. Le champ client_reference_id de la Checkout Session est le canal recommandé ; alternativement, utilisez le champ metadata de Stripe avec la clé elido_cid si vous utilisez directement PaymentIntents. La configuration complète prend environ 30 minutes si votre intégration Stripe gère déjà les webhooks.

Intégration Shopify
03

Le webhook orders/paid de Shopify lie les revenus des commandes au clic sur le lien court d'origine

Enregistrez le point de terminaison du webhook Shopify d'Elido dans votre interface administrateur Shopify (Paramètres → Notifications → Webhooks → Créer un webhook → Sujet : orders/paid). Elido vérifie l'en-tête X-Shopify-Hmac-Sha256, extrait le total et la devise de la commande, et recherche l'elido_cid dans les note_attributes de la commande (que vous remplissez depuis le panier à l'aide de l'API note_attributes du panier de Shopify, en transmettant le click_id du cookie de session ou du paramètre URL). Pour les boutiques Shopify utilisant des thèmes Online Store 2.0, l'extrait d'attribution d'Elido injecte automatiquement le click_id dans le panier lors du clic. Les commandes attribuées sont dédoublonnées par ID de commande afin que les commandes remboursées puis remplacées ne soient pas comptées deux fois. Les boutiques Shopify Plus avec des extensions de paiement personnalisées peuvent transmettre le click_id via un canal plus fiable - le guide de configuration couvre le flux spécifique à Plus.

Événements de conversion personnalisés
04

Envoyez une requête POST au point de terminaison de conversion d'Elido depuis n'importe quel backend - pas seulement Stripe et Shopify

POST /v1/conversions avec un corps JSON : { click_id: "...", event_name: "purchase", value: 99.00, currency: "EUR", metadata: {} }. Le click_id est l'elido_cid issu du clic. Elido authentifie la requête avec la clé API de votre espace de travail (HMAC-SHA256 sur le corps de la charge utile recommandé pour plus de sécurité). Ce point de terminaison couvre toute conversion non gérée par les intégrations natives Stripe ou Shopify : WooCommerce, activations d'essai SaaS personnalisées, soumissions de formulaires de prospects, conversions d'appels téléphoniques suivies par votre plateforme de téléphonie. Le champ event_name est libre ; utilisez n'importe quelle convention de nommage préférée par votre équipe - il est affiché tel quel dans la vue analytique. Idempotence : envoyez deux fois la même combinaison click_id + event_name et seule la première sera enregistrée. La valeur de l'événement et les métadonnées sont mutables uniquement lors de la première écriture.

Transfert en aval
05

Diffusez simultanément les conversions vers GA4 Measurement Protocol, Meta CAPI et le suivi serveur Mixpanel

Une fois qu'Elido a enregistré une conversion suite à un clic, il diffuse l'événement vers toutes les destinations de transfert côté serveur que vous avez activées : GA4 Measurement Protocol (l'événement apparaît dans GA4 comme un événement d'achat côté serveur avec les paramètres UTM d'origine du clic), Meta CAPI (l'événement est dédoublonné par rapport au pixel côté client si les deux sont activés, en utilisant l'event_id du click_id) et le suivi serveur Mixpanel (l'événement est envoyé avec le distinct_id de l'appel $identify de Mixpanel si vous avez configuré l'identité croisée). Le transfert se fait de manière asynchrone après l'enregistrement de la conversion - il ne bloque pas la réponse du webhook vers Stripe ou Shopify. Les événements de transfert échoués sont retentés avec un backoff exponentiel pendant 24 heures, puis abandonnés avec une entrée de journal. Vous pouvez voir l'état du transfert par conversion dans le tableau de bord.

Équipes revenus utilisant le suivi de conversion Elido

Les noms sont des espaces réservés - les études de cas réelles de clients apparaîtront ici au fur et à mesure de leur publication.

iOS 14.5 a tué notre attribution via le Pixel Meta sur 30 % des achats mobiles. Le webhook Stripe côté serveur via Elido a permis de récupérer la majeure partie - le passage du click_id dans le client_reference_id de Stripe a été la clé. La configuration a pris un après-midi.

É
Équipe E-commerce, marque D2C, Varsovie
Responsable E-commerce

Nous envoyons les activations d'essai via POST au point de terminaison de conversion personnalisé d'Elido. La chaîne clic → essai → payant est désormais traçable de bout en bout sans un CDP complet. Le transfert vers GA4 Measurement Protocol signifie que nos tableaux de bord de canaux payants sont à nouveau précis.

D
Données marketing, SaaS B2B, Lisbonne
Ingénieur Données Marketing

Le webhook orders/paid de Shopify plus l'extrait d'attribution dans le thème a été une intégration d'une journée. Le revenu par campagne est désormais un chiffre en direct lors de notre réunion matinale, pas une formule de feuille de calcul que quelqu'un doit mettre à jour.

I
Ingénierie de croissance, fintech, Riga
Ingénieur Croissance

Suivi de conversion Elido vs Bitly vs Short.io

Bitly n'a pas de suivi de conversion côté serveur. Short.io a des pixels de conversion basiques. Le suivi de conversion d'Elido est côté serveur et transfère vers plusieurs plateformes publicitaires.

FeatureElidoBitlyShort.io
Attribution des conversions côté serveurOui - basé sur les webhooks, signature vérifiéeNon disponibleNon disponible
Intégration du webhook Stripecheckout.session.completed + payment_intent.succeededNon disponibleNon disponible
Intégration du webhook Shopifyorders/paid - signature vérifiée, dédoublonnage des commandesNon disponibleNon disponible
Point de terminaison de conversion personnaliséPOST /v1/conversions - tout backend, tout événementNon disponibleNon disponible
Transfert GA4 / Meta CAPIOui - diffusé après l'enregistrement de la conversionNon disponiblePartiel - pixel côté client uniquement
Revenus dans les analysesRésumé des revenus par lien et par campagne avec deviseNon disponibleNombre de conversions uniquement, pas de revenus
Dédoublonnage des conversionsOui - idempotence sur click_id + event_nameNon applicableNon disponible

Questions sur le suivi des conversions

Que se passe-t-il si le click_id est supprimé avant la conversion ?

Si le paramètre de requête elido_cid est perdu avant que l'événement de conversion ne se déclenche - en raison d'une chaîne de redirection, d'un routeur SPA ne transférant pas les paramètres de requête, ou d'un paiement tiers supprimant les paramètres inconnus - la conversion ne peut pas être attribuée. Testez le tunnel complet : cliquez sur un lien court, suivez l'elido_cid à travers chaque page jusqu'à la confirmation de paiement, vérifiez qu'il apparaît dans le POST de conversion. L'extrait d'attribution d'Elido (un petit bloc JavaScript) définit également le click_id dans un cookie tiers comme solution de secours - si le paramètre URL est perdu mais que l'utilisateur est toujours dans la même session de navigation, l'attribution peut être récupérée à partir du cookie.

Comment les remboursements sont-ils gérés dans l'attribution des conversions ?

Elido ne traite pas automatiquement les événements de remboursement. Si un événement Stripe charge.refunded ou Shopify refunds/create se déclenche, Elido ne déduit pas le revenu attribué. Vous pouvez envoyer un événement de conversion à valeur négative via POST au point de terminaison personnalisé pour inverser l'attribution manuellement. Un écouteur de webhook de remboursement est sur la feuille de route. En attendant, si vous avez besoin de revenus nets précis dans Elido, soustrayez les totaux de remboursement à l'aide des données d'exportation et de votre système de gestion des commandes.

Le suivi de conversion fonctionne-t-il si l'utilisateur finalise son achat sur un autre appareil ?

Non - si l'utilisateur clique sur le lien court sur mobile mais finalise son achat sur ordinateur, le click_id n'est pas transféré entre les appareils. La conversion ne sera pas attribuée à moins que la session de l'utilisateur n'ait conservé l'elido_cid à travers le changement d'appareil (par exemple, via un compte connecté qui l'a stocké). L'attribution multi-appareils nécessite un graphe d'identité côté serveur, qu'Elido ne fournit pas. Pour la précision de l'attribution multi-appareils, utilisez votre MMP ou CDP aux côtés des conversions côté serveur d'Elido.

Quelles devises sont prises en charge pour l'attribution des revenus ?

Tous les codes de devise ISO 4217 sont acceptés dans le champ value d'un événement de conversion. Les revenus sont stockés dans la devise d'origine ; le tableau de bord analytique affiche les revenus dans la devise de chaque événement de conversion. Si vous avez besoin d'une vue consolidée dans une seule devise, exportez les événements de conversion et convertissez-les dans votre entrepôt de données - Elido n'applique pas de taux de change.

Comment configurer le transfert du client_reference_id de Stripe ?

Lors de la création d'une session de paiement Stripe, définissez client_reference_id sur la valeur du paramètre URL elido_cid du clic de référence. En JavaScript : const session = await stripe.checkout.sessions.create({ ..., client_reference_id: searchParams.get('elido_cid') }). Le gestionnaire de webhook d'Elido lit ce champ depuis checkout.session.completed. Si vous utilisez directement PaymentIntents, utilisez plutôt le champ metadata avec la clé elido_cid. Le guide de configuration sur /docs/guides/conversion-tracking contient du code prêt à l'emploi pour Node, Python et Go.

Les données de conversion sont-elles incluses dans les exportations d'analytique ?

Oui. Les événements de conversion sont stockés dans une table distincte (conversions) aux côtés de la table des événements de clic (clicks). Les exportations planifiées vers S3, BigQuery ou Snowflake incluent les deux tables. La clé de JOIN est click_id. Une requête SQL de référence qui joint les clics aux conversions et calcule les revenus par source UTM de campagne se trouve dans le guide d'exportation.

Puis-je suivre des conversions sans revenu comme les formulaires ou les activations d'essai ?

Oui - le point de terminaison de conversion personnalisé accepte n'importe quel event_name et une valeur optionnelle (définie sur 0 pour les événements sans revenu). Utilisez des noms d'événements tels que 'trial_started', 'demo_booked', 'form_submitted'. Ceux-ci apparaissent dans la vue analytique du lien sous 'Conversions' avec le nom de l'événement comme libellé. Si vous effectuez également un transfert vers GA4, ceux-ci correspondent à des événements GA4 personnalisés. Les nombres de conversions (pas seulement les revenus) sont visibles par lien et par campagne, quelle que soit la valeur de l'événement.

Quel est le délai entre la réception de l'événement de conversion et sa visibilité dans les analyses ?

Réception du webhook vers l'entrepôt d'analytique : généralement moins de 5 secondes via le même pipeline de flux d'événements que les événements de clic. L'attribution (correspondance de la conversion au clic d'origine) se fait de manière synchrone lors de la réception du webhook - si le click_id est résolu, l'attribution est immédiate. Le transfert en aval vers GA4 / Meta CAPI / Mixpanel est asynchrone et ajoute 2 à 10 secondes. Le chiffre des revenus dans la vue analytique du tableau de bord est mis à jour dans les 30 secondes suivant la réception de l'événement de conversion.

Prêt à essayer ?

Commencez avec le forfait gratuit, passez à la version supérieure lorsque vous avez besoin d'un domaine personnalisé.