Salesforce enregistre un clic quand c'est Salesforce qui a envoyé le lien. Account Engagement réécrit les URLs dans ses propres e-mails et attribue le clic à un prospect, et les redirections personnalisées étendent cela aux liens que vous collez ailleurs. C'est toute l'histoire native.
Tout le reste envoyé par votre entreprise ne produit aucun clic dans le CRM. Le suivi d'un commercial depuis sa propre boîte mail, une séquence SMS, un QR code sur un stand de conférence, une publicité payante, une newsletter partenaire : tout est invisible. Combler cet écart nécessite un lien suivi que vous possédez et un webhook qui écrit dans Salesforce, et les décisions intéressantes portent sur ce qu'il faut écrire plutôt que sur la façon de l'envoyer. Pour le même problème avec un autre CRM, les clics de liens HubSpot sur la timeline du contact détaille la forme de l'intégration.
Ce que couvrent les outils natifs
Deux mécanismes, tous deux limités aux messages envoyés par Salesforce.
Le suivi des clics de liens dans les e-mails d'Account Engagement réécrit chaque lien via un sous-domaine de suivi, de sorte que le clic est enregistré sur le prospect à qui l'e-mail a été envoyé. Cela fonctionne bien, et cela ne fonctionne que là.
Les redirections personnalisées vont un cran plus loin : vous générez une URL suivie et l'utilisez dans une bannière, une publication sociale ou un document, et les clics apparaissent comme une activité du prospect. Deux contraintes déterminent à quel point c'est utile. Les clics répétés du même prospect sont limités sur une fenêtre donnée, donc le compteur n'est délibérément pas un total brut. Et l'attribution à un prospect nommé dépend du fait que le visiteur soit déjà identifié, ce qui, pour du trafic froid, signifie que le clic est enregistré sans personne rattachée.
Marketing Cloud a son propre modèle de liens suivis avec le même principe : il mesure ce qu'il a envoyé.
Rien de tout cela n'est une critique. C'est un périmètre, et connaître ce périmètre vous indique exactement à quoi sert la troisième voie.
L'écart, et comment le combler
Le schéma est court. Votre raccourcisseur déclenche un webhook à chaque clic. Un endpoint le reçoit, le vérifie et le transforme en enregistrement.
Trois choix d'implémentation décident si c'est un projet de week-end ou un incident récurrent.
Publiez un platform event plutôt que d'écrire directement. Un platform event découple l'ingestion de la décision sur ce que signifie un clic. L'intégration publie Link_Click__e ; les abonnés décident si cela met à jour un membre de campagne, crée une tâche, ou ne fait rien pour cette campagne. Quand le marketing change d'avis sur ce qu'un clic doit déclencher, vous modifiez un flow plutôt qu'un consommateur de webhook.
Vérifiez la signature avant de faire confiance au payload. L'endpoint est public par définition. Vérifiez le HMAC par rapport au secret partagé, rejetez en cas de non-correspondance, et ne prenez jamais l'identifiant du contact depuis le corps de la requête sans le valider par rapport à quelque chose que vous avez émis.
Dédupliquez sur l'identifiant du clic. La livraison des webhooks réessaie après un timeout, ce qui signifie que le même clic peut arriver deux fois. Stockez l'identifiant et rendez l'écriture idempotente ; l'alternative est un contact avec quatre enregistrements de clic identiques pour un seul tap. Limites de débit et idempotence sur une API de liens couvre la même discipline côté sortant.
Faire correspondre un clic à une personne, honnêtement
C'est là que les intégrations mentent discrètement, donc autant le dire clairement.
Un clic transporte ce que le lien transportait. Si vous avez généré un lien court distinct par destinataire, le payload identifie le destinataire et vous pouvez écrire sur sa fiche en toute confiance. Si quatre cents personnes ont reçu le même lien, vous avez quatre cents clics et aucun nom, et aucune jointure astucieuse ne les récupère.
Décidez donc au cas par cas. Les séquences sortantes et les suivis en tête-à-tête justifient un lien par destinataire, généré via l'API au moment de la mise en file du message. Les campagnes larges ne le justifient pas, et les comptages au niveau de la campagne sont le résultat honnête : clics par campagne, par média, par lien, rattachés à l'objet campagne plutôt qu'aux individus. Raccourcisseurs d'URL pour les équipes commerciales B2B explique quand la version par destinataire se rentabilise.
La seule chose à ne pas faire est de déduire une identité à partir d'une adresse IP ou d'une coïncidence temporelle. C'est faux assez souvent pour polluer un rapport de pipeline, et en Europe, c'est une décision de traitement que vous préféreriez ne pas avoir à justifier.
Vous mettez cela en place maintenant ? Les webhooks d'Elido signent chaque livraison et réessaient avec un backoff, et la référence des webhooks dans la documentation liste les champs du payload de clic que vous allez mapper.
Quoi écrire, et où
Quatre cibles, par ordre croissant de réflexion nécessaire.
- Un objet de clic personnalisé.
Click__cavec des lookups vers Contact et Campaign, plus le lien, les paramètres de campagne, le pays, l'appareil et l'horodatage. C'est le choix durable ; le reporting reste rapide et le fil d'activité reste lisible. - Le statut de membre de campagne. Faire passer un membre de Sent à Responded dès le premier clic est l'automatisation la plus utile ici, car elle alimente tous les rapports de campagne que vous avez déjà.
- Une tâche, avec parcimonie. Utile pour les liens à forte valeur où un commercial devrait voir le contact dans son fil. Catastrophique par défaut, car quelques milliers de tâches par semaine enterrent tout le reste.
- Un champ de rollup sur le contact. La date du dernier clic et un compteur cumulatif sont peu coûteux à maintenir et répondent à la plupart des questions qu'un commercial se pose sans ouvrir une liste associée.
Mappez les paramètres de campagne vers des champs plutôt que de les parser plus tard. utm_campaign sur l'enregistrement de clic est ce qui permet à un rapport sales ops de grouper par campagne sans avoir à joindre quoi que ce soit.
Le volume est la contrainte que personne n'anticipe
Les clics arrivent par rafales. Une newsletter envoyée à cinquante mille personnes produit des milliers de clics dans les dix premières minutes, et une intégration naïve transforme chacun d'eux en un appel d'API.
Les orgs Salesforce ont des quotas d'API quotidiens, et la publication de platform events a ses propres quotas. Le calcul mérite d'être fait avant le lancement plutôt que pendant : le pic de clics par minute rapporté à votre quota, la réponse étant généralement que les écritures par clic ne tiennent pas.
Trois issues, par ordre de préférence. Publiez uniquement des événements de seuil, pour que le CRM n'entende parler que du troisième clic plutôt que de chaque clic. Agrégez de votre côté et écrivez des résumés horaires pour le reporting au niveau de la campagne. Ou regroupez en lot, en retenant les événements brièvement et en les insérant en masse. Webhooks contre polling pour le suivi des clics couvre l'arbitrage quand le volume plaide entièrement pour l'autre direction.
J'ai vu cela échouer exactement une fois, à 9h un jour de lancement, et le correctif fait sous pression est toujours plus grossier que celui conçu à l'avance.
Le tester avant de lui faire confiance
Cinq vérifications. Envoyez un clic de test signé et confirmez qu'il devient un enregistrement avec la campagne rattachée. Envoyez le même clic deux fois et confirmez un seul enregistrement. Envoyez un clic pour un contact inconnu et confirmez qu'il atterrit comme une ligne non attribuée plutôt que de provoquer une erreur. Rejouez un payload avec une signature incorrecte et confirmez un rejet. Puis lancez une vraie campagne à faible volume et réconciliez le compteur du raccourcisseur avec le nombre d'enregistrements sur la même fenêtre ; un écart de quelques pour cent correspond aux réessais de livraison qui se stabilisent, un écart de trente pour cent est un bug.
Lire la série pilier
Cet article s'inscrit dans le cluster intégrations. Raccourcisseurs d'URL pour les marketeurs est l'article pilier pour le volet reporting, et webhooks pour les événements de liens détaille les formes de payload.
À lire aussi sur le blog
Questions fréquentes
Salesforce suit-il nativement les clics sur les liens ?
Il suit les clics sur les liens qu'il a envoyés. Account Engagement réécrit les liens dans ses e-mails via un sous-domaine de suivi et enregistre le clic sur le prospect, et les redirections personnalisées étendent cela aux liens que vous placez ailleurs. Tout ce qui est envoyé en dehors de ces outils, y compris depuis la boîte mail propre d'un commercial, une campagne SMS ou un code imprimé, ne produit aucun clic dans Salesforce.
Qu'est-ce qu'une redirection personnalisée dans Account Engagement ?
Un lien suivi généré dans Account Engagement qui enregistre un clic comme une activité sur la fiche du prospect. Il convient aux bannières publicitaires, aux publications sur les réseaux sociaux et aux fichiers hébergés ailleurs. Deux limites comptent en pratique : les clics répétés du même prospect sont limités sur une courte fenêtre, et le lien n'identifie une personne que si le visiteur possède déjà un cookie.
Comment faire remonter les clics sur liens courts dans Salesforce ?
Envoyez un webhook depuis le raccourcisseur vers Salesforce et écrivez un enregistrement. Le schéma propre consiste à publier un platform event et à laisser un abonné décider quoi en faire, de sorte que le clic se traduise par une ligne d'objet personnalisé, une tâche ou un changement de statut de membre de campagne sans que votre intégration ait besoin de savoir lequel. Vérifiez la signature, dédupliquez sur l'identifiant du clic et regroupez en lot sous forte charge.
Un clic peut-il être attribué à un contact précis ?
Uniquement si le lien était unique à ce contact. Un seul lien de campagne cliqué par quatre cents personnes produit quatre cents clics anonymes, et rien dans le payload ne change cela. Générez un lien par destinataire quand l'attribution au niveau de la personne compte, et acceptez un reporting au niveau de la campagne quand ce n'est pas le cas.
Les clics doivent-ils être des tâches ou un objet personnalisé ?
Un objet personnalisé, dès que le volume devient réel. Les tâches sont pratiques car elles apparaissent sur la timeline d'activité, mais elles deviennent du bruit à partir de quelques milliers de lignes par semaine et gonflent le stockage. Un objet de clic personnalisé avec un lookup vers le contact et la campagne garde le reporting rapide et permet d'agréger les comptages sans toucher au fil d'activité.
Le volume de clics va-t-il atteindre les limites d'API de Salesforce ?
Oui, et rapidement. Une campagne active produit plus de clics par heure que le quota d'API quotidien d'une petite org, donc écrire un appel d'API par clic est l'erreur à éviter. Agrégez avant l'envoi, publiez des événements de seuil plutôt que chaque clic, ou regroupez en lot selon un calendrier.
Essayer Elido
Collez une URL, obtenez un lien court
Sans inscription. Lien actif 30 jours. Inscrivez-vous pour le garder pour toujours.
Gratuit, sans inscription · 2 par jour