5 min czytaniaIntegracje

Śledzenie kliknięć linków Salesforce: kliknięcia w rekordzie Contact

Salesforce śledzi kliknięcia wyłącznie w e-mailach, które sam wysłał - i nic poza tym. Trzy sposoby na umieszczenie kliknięć skróconych linków w rekordzie oraz ten jeden, który działa poza e-mailem.

Marius Voß
DevRel · edge infra
Kliknięcie skróconego linku docierające jako webhook i stające się rekordem kliknięcia dołączonym do rekordu Contact oraz Campaign Member w Salesforce

Salesforce zapisuje kliknięcie, gdy to Salesforce wysłał link. Account Engagement przepisuje adresy URL we własnych e-mailach i przypisuje kliknięcie do rekordu prospect, a custom redirects rozszerzają to na linki wklejane gdzie indziej. To cała natywna historia.

Wszystko inne, co wysyła twoja firma, nie generuje żadnego kliknięcia w CRM. Follow-up przedstawiciela handlowego z własnej skrzynki, sekwencja SMS, kod QR na scenie konferencyjnej, płatna reklama, newsletter partnera - wszystko niewidoczne. Zamknięcie tej luki wymaga własnego śledzonego linku i webhooka, który zapisuje dane do Salesforce, a ciekawe decyzje dotyczą tego, co zapisać, a nie jak to wysłać. W przypadku tego samego problemu w innym CRM, Kliknięcia linków HubSpot na osi czasu kontaktu pokazuje kształt integracji.

Co obejmują natywne narzędzia

Dwa mechanizmy, oba ograniczone do wiadomości wysłanych przez Salesforce.

Śledzenie kliknięć linków w e-mailach w Account Engagement przepisuje każdy link przez subdomenę trackera, więc kliknięcie zostaje zapisane na rekordzie prospect, do którego wysłano wiadomość. Działa to dobrze i działa wyłącznie tam.

Custom redirects idą o krok dalej: generujesz śledzony URL i używasz go w banerze, poście w mediach społecznościowych albo dokumencie, a kliknięcia pojawiają się jako aktywność na rekordzie prospect. Dwa ograniczenia decydują o tym, jak bardzo jest to użyteczne. Powtórne kliknięcia tego samego rekordu prospect są tłumione w oknie czasowym, więc liczba celowo nie jest surowym totalem. A przypisanie do konkretnej osoby zależy od tego, czy odwiedzający jest już zidentyfikowany jako prospect, co przy ruchu zimnym oznacza, że kliknięcie zostaje zapisane bez powiązanej osoby.

Marketing Cloud ma własny model śledzonych linków oparty na tej samej zasadzie: mierzy to, co sam wysłał.

Nic z tego nie jest krytyką. To zakres działania, a znajomość tego zakresu mówi dokładnie, do czego służy trzecia droga.

Luka i jak ją zamknąć

Wzorzec jest krótki. Twój skracacz linków wystrzeliwuje webhook przy każdym kliknięciu. Endpoint go odbiera, weryfikuje i zamienia w rekord.

Trzy decyzje implementacyjne rozstrzygają, czy to jest robota na weekend, czy powtarzający się incydent.

Publikuj Platform Event zamiast zapisywać bezpośrednio. Platform event oddziela przyjmowanie danych od decyzji, co właściwie oznacza kliknięcie. Integracja publikuje Link_Click__e; subskrybenci decydują, czy to aktualizuje Campaign Member, tworzy task, czy nie robi nic dla tej kampanii. Gdy marketing zmieni zdanie co do tego, co powinno wyzwalać kliknięcie, edytujesz flow, a nie konsumenta webhooka.

Weryfikuj podpis, zanim zaufasz payloadowi. Endpoint jest z definicji publiczny. Sprawdzaj HMAC względem współdzielonego sekretu, odrzucaj przy niezgodności i nigdy nie bierz identyfikatora Contact z treści żądania bez zwalidowania go względem czegoś, co sam wydałeś.

Deduplikuj po identyfikatorze kliknięcia. Dostarczanie webhooka ponawia próby po przekroczeniu czasu oczekiwania, co oznacza, że to samo kliknięcie może dotrzeć dwukrotnie. Zapisuj identyfikator i uczyń zapis idempotentnym; alternatywą jest Contact z czterema identycznymi rekordami kliknięć z jednego dotknięcia. Limity częstotliwości i idempotencja w API linków opisuje tę samą dyscyplinę po stronie wychodzącej.

Kliknięcie skróconego linku przechodzące przez podpisany webhook i Platform Event do rekordu kliknięcia w Salesforce oraz aktualizacji Campaign Member

Uczciwe dopasowanie kliknięcia do osoby

To tu integracje po cichu kłamią, więc warto powiedzieć to wprost.

Kliknięcie niesie ze sobą dokładnie to, co niósł link. Jeśli wygenerowałeś odrębny krótki link dla każdego odbiorcy, payload identyfikuje odbiorcę i możesz z pewnością zapisać dane w jego rekordzie. Jeśli czterysta osób otrzymało ten sam link, masz czterysta kliknięć i żadnych nazwisk, i żaden sprytny join tego nie odzyska.

Decyduj więc zależnie od przypadku użycia. Sekwencje wychodzące i indywidualne follow-upy uzasadniają link dla każdego odbiorcy, generowany przez API w momencie kolejkowania wiadomości. Szerokie kampanie już nie, a liczby na poziomie kampanii są uczciwym wynikiem: kliknięcia na kampanię, na medium, na link, przypisane do obiektu Campaign, a nie do pojedynczych osób. Skracacze linków dla zespołów sprzedaży B2B pokazuje, gdzie wersja per-odbiorca się zwraca.

Jedyne, czego nie wolno robić, to wnioskować o tożsamości na podstawie adresu IP albo zbiegu czasowego. Myli się na tyle często, że zatruwa raport pipeline'u, a w Europie to decyzja o przetwarzaniu danych, której lepiej nie musieć bronić.

Podłączasz to właśnie teraz? Webhooki Elido podpisują każdą dostawę i ponawiają próby z backoffem, a dokumentacja webhooków wylicza pola payloadu kliknięcia, które będziesz mapować.

Co zapisywać i gdzie

Cztery cele, w kolejności rosnącej ilości przemyśleń, jakich wymagają.

  • Custom object na kliknięcia. Click__c z lookupami do Contact i Campaign, plus link, parametry kampanii, kraj, urządzenie i znacznik czasu. To trwały wybór; raportowanie zostaje szybkie, a activity feed czytelny.
  • Status Campaign Member. Przeniesienie członka ze statusu Sent do Responded przy pierwszym kliknięciu to najbardziej przydatna automatyzacja w tym kontekście, bo zasila każdy raport kampanii, który już masz.
  • Task, oszczędnie. Przydatny dla linków wysokiej wartości, gdzie przedstawiciel handlowy powinien zobaczyć tę interakcję w swoim feedzie. Fatalny jako domyślne rozwiązanie, bo kilka tysięcy tasków tygodniowo grzebie wszystko inne.
  • Pole rollup na Contact. Data ostatniego kliknięcia i bieżący licznik są tanie w utrzymaniu i odpowiadają na większość pytań, jakie zadaje przedstawiciel handlowy, bez otwierania related list.

Mapuj parametry kampanii na pola zamiast parsować je później. utm_campaign na rekordzie kliknięcia to właśnie to, co pozwala raportowi sales ops grupować po kampanii bez łączenia z czymkolwiek.

Cztery kroki konfiguracji śledzenia kliknięć w Salesforce, od utworzenia Platform Event przez weryfikację podpisu po automatyzację Campaign Member

Wolumen to ograniczenie, którego nikt nie planuje

Kliknięcia przychodzą falami. Newsletter do pięćdziesięciu tysięcy osób generuje tysiące kliknięć w pierwszych dziesięciu minutach, a naiwna integracja zamienia każde z nich w wywołanie API.

Organizacje Salesforce mają dzienne limity API, a publikowanie Platform Event ma własne kwoty. Tę arytmetykę warto zrobić przed startem, a nie w jego trakcie: szczytowa liczba kliknięć na minutę zestawiona z twoim limitem, a odpowiedź zwykle brzmi, że zapisy per-kliknięcie się nie mieszczą.

Trzy wyjścia, w kolejności preferencji. Publikuj wyłącznie eventy progowe, żeby CRM dowiadywał się o trzecim kliknięciu, a nie o każdym. Agreguj po swojej stronie i zapisuj godzinowe podsumowania na potrzeby raportowania na poziomie kampanii. Albo grupuj wsadowo, przytrzymując eventy przez chwilę i wstawiając je hurtowo. Webhooki kontra polling przy śledzeniu kliknięć opisuje ten kompromis, gdy wolumen przemawia zupełnie w drugą stronę.

Widziałem, jak to zawiodło dokładnie raz, o 9 rano w dniu startu, a naprawa pod presją zawsze jest bardziej prowizoryczna niż naprawa zaprojektowana wcześniej.

Testowanie, zanim zaufasz

Pięć sprawdzeń. Wyślij podpisane testowe kliknięcie i potwierdź, że staje się rekordem z dołączoną kampanią. Wyślij to samo kliknięcie dwukrotnie i potwierdź jeden rekord. Wyślij kliknięcie dla nieznanego Contact i potwierdź, że ląduje jako wiersz bez atrybucji, zamiast rzucać błąd. Odtwórz payload z błędnym podpisem i potwierdź odrzucenie. Następnie uruchom prawdziwą kampanię przy niskim wolumenie i zestaw licznik skracacza z liczbą rekordów dla tego samego okna; różnica kilku procent to ustabilizowanie się ponownych prób dostarczania, różnica trzydziestu procent to błąd.

Przeczytaj serię artykułów bazowych

Ten wpis należy do klastra integracji. Skracacze linków dla marketerów to artykuł bazowy dla strony raportowania, a webhooki dla zdarzeń linków szczegółowo opisuje kształty payloadów.

Powiązane na blogu

Najczęściej zadawane pytania

Czy Salesforce natywnie śledzi kliknięcia linków?

Śledzi kliknięcia linków, które sam wysłał. Account Engagement przepisuje linki w swoich e-mailach przez subdomenę trackera i zapisuje kliknięcie na rekordzie prospect, a custom redirects rozszerzają to na linki umieszczone gdzie indziej. Wszystko wysłane poza tymi narzędziami - w tym własna skrzynka przedstawiciela handlowego, kampania SMS czy wydrukowany kod - nie generuje w Salesforce żadnego kliknięcia.

Czym jest custom redirect w Account Engagement?

To śledzony link generowany wewnątrz Account Engagement, który zapisuje kliknięcie jako aktywność na rekordzie prospect. Sprawdza się przy banerach reklamowych, postach w mediach społecznościowych i plikach hostowanych gdzie indziej. W praktyce liczą się dwa ograniczenia: powtórne kliknięcia tego samego rekordu prospect są tłumione w krótkim oknie czasowym, a link identyfikuje osobę tylko wtedy, gdy odwiedzający ma już ustawiony cookie.

Jak wprowadzić kliknięcia skróconych linków do Salesforce?

Wyślij webhook ze skracacza linków do Salesforce i zapisz rekord. Czystym wzorcem jest opublikowanie Platform Event i pozostawienie subskrybentowi decyzji, co z nim zrobić - dzięki temu kliknięcie ląduje jako wiersz custom object, task albo zmiana statusu Campaign Member, a twoja integracja nie musi wiedzieć, które z nich. Weryfikuj podpis, deduplikuj po identyfikatorze kliknięcia i grupuj wsadowo przy dużym obciążeniu.

Czy kliknięcie można przypisać do konkretnego Contact?

Tylko jeśli link był unikalny dla tego Contact. Jeden link kampanii kliknięty przez czterysta osób daje czterysta anonimowych kliknięć i nic w payloadzie tego nie zmieni. Generuj osobny link dla każdego odbiorcy, gdy liczy się atrybucja na poziomie osoby, a gdy nie liczy się - zaakceptuj raportowanie na poziomie kampanii.

Czy kliknięcia powinny być zapisywane jako task, czy jako custom object?

Custom object, gdy tylko wolumen staje się realny. Taski są wygodne, bo pojawiają się na osi czasu aktywności, ale przy kilku tysiącach wierszy tygodniowo zamieniają się w szum i rozdymają storage. Custom object na kliknięcia z lookupem do Contact i Campaign utrzymuje szybkie raportowanie i pozwala sumować liczby bez dotykania activity feed.

Czy wolumen kliknięć uderzy w limity API Salesforce?

Może, i to szybko. Ruchliwa kampania generuje więcej kliknięć na godzinę niż dzienny limit API małej organizacji, więc zapisywanie jednego wywołania API na kliknięcie to błąd, którego trzeba unikać. Agreguj przed wysyłką, publikuj eventy progowe zamiast każdego kliknięcia albo grupuj wsadowo według harmonogramu.

Wypróbuj Elido

Wklej URL, otrzymaj krótki link

Bez rejestracji. Link działa 30 dni. Zarejestruj się, aby zachować go na zawsze.

Za darmo, bez rejestracji · 2 dziennie

Wypróbuj Elido

Skracarka URL hostowana w UE: własne domeny, głęboka analityka i otwarte API. Darmowy plan - bez karty kredytowej.

Tagi
salesforce link tracking
click tracking crm
platform events
custom redirects
webhooks
campaign member

Czytaj dalej