Modelowane listy odbiorców nie zawierają konkretnych osób, tylko prawdopodobieństwa. Wyjaśniam, jak powstają, gdzie ich szukać w panelu i jak czytać ich raporty.
Decyzja o przekazywaniu danych z CRM do konta reklamowego jest zwykle łatwa. Trudne jest to, co następuje potem: wybór sposobu, w jaki te dane mają tam trafiać. Widziałem firmy, które utknęły na tym etapie na kwartał, bo dyskusja od razu przeszła na integrację przez API, a ta wymagała zasobów programistycznych, których nie było.
Tymczasem sposobów jest kilka i różnią się nie tylko nakładem pracy, ale też tym, jak długo przeżyją w organizacji. Ręczny plik jest gotowy w godzinę i porzucony po sześciu tygodniach. Integracja przez API jest gotowa po miesiącu i działa latami.
Chcę więc przejść po kolei przez cztery realne warianty, powiedzieć wprost, ile każdy kosztuje, i pokazać, co trzeba przygotować niezależnie od wybranej drogi.
Niezależnie od sposobu przesyłania, w CRM muszą znaleźć się trzy rzeczy.
Identyfikator kliknięcia. Najczęściej GCLID, przechwycony przy pierwszej wizycie i zapisany razem z rekordem leada. Jeśli prowadzisz też kampanie w innych systemach reklamowych, każdy ma własny parametr i warto przechowywać je w osobnych polach, a nie w jednym „źródło”.
Znacznik czasu zmiany statusu. Nie data utworzenia leada, a data zdarzenia, które importujesz — moment podpisania umowy albo wpłaty. Google przypisze konwersję do kliknięcia, ale w raportach potrzebuje wiedzieć, kiedy nastąpiła.
Wartość. Kwota transakcji, najlepiej netto i w jednej, stałej walucie. Bez niej optymalizacja pod wartość jest niemożliwa, a to zwykle główny powód, dla którego cały projekt się robi.
Do tego dochodzi ustalenie organizacyjne, które jest ważniejsze niż technika: ktoś musi odpowiadać za rzetelność statusów w CRM. Jeśli handlowcy zamykają szanse sprzedaży wybiórczo albo z opóźnieniem tygodni, żadna integracja tego nie naprawi.
Najprostsza droga: eksportujesz z CRM arkusz z kolumnami GCLID, nazwa konwersji, data i godzina, wartość, waluta, a potem wgrywasz go w Google Ads jako import konwersji offline.
Zalety są realne. Uruchamiasz to w godzinę, bez udziału programistów, i od razu widzisz, czy dane w ogóle się dopasowują. Do walidacji całego pomysłu nie ma lepszej metody — zanim zbudujesz integrację, warto sprawdzić na jednym pliku, jaki odsetek GCLID-ów faktycznie się przypisuje.
Wada jest jedna, ale zabójcza: to proces, który ktoś musi wykonywać ręcznie w nieskończoność. Z mojego doświadczenia takie rozwiązania żyją do pierwszego urlopu osoby odpowiedzialnej. Traktuję je więc wyłącznie jako etap testowy, nie docelowy, i mówię to klientowi od początku, żeby nie było złudzeń.
Wariant, który polecam najczęściej, bo daje najlepszy stosunek trwałości do kosztu.
Google Ads potrafi pobierać plik z konwersjami z arkusza w chmurze albo z adresu HTTPS według harmonogramu — codziennie albo co tydzień. Twoim zadaniem jest zadbać, żeby ten arkusz sam się aktualizował: eksportem z CRM, prostym skryptem albo narzędziem do automatyzacji przepływów, jeśli CRM ma gotowy konektor.
W praktyce oznacza to, że raz konfigurujesz źródło i harmonogram, a potem proces działa bez ludzkiej ręki. Nie potrzebujesz zespołu programistów, a mimo to nie masz zadania powtarzalnego na czyjejś liście obowiązków.
Warto pamiętać o dwóch rzeczach. Arkusz powinien zawierać tylko nowe rekordy albo mieć mechanizm odporny na powtórki, bo ponowne wysłanie tej samej konwersji może ją zdublować. I trzeba gdzieś zaglądać po błędy — Google raportuje odrzucone wiersze, ale nikt Cię o tym nie poinformuje, jeśli sam nie sprawdzisz.
Rozwiązanie docelowe dla firm, które traktują ten kanał poważnie i mają zaplecze techniczne.
CRM wysyła konwersję do Google Ads w momencie zmiany statusu, przez interfejs programistyczny. Dane docierają natychmiast, nie ma pliku, nie ma harmonogramu, nie ma ryzyka, że ktoś zapomni. Do tego dostajesz w odpowiedzi konkretną informację o błędzie dla każdego rekordu, co bardzo skraca diagnostykę.
Koszt to praca programistyczna: uwierzytelnianie, obsługa limitów, ponawianie nieudanych żądań, logowanie. Do tego dochodzi utrzymanie, bo interfejsy programistyczne mają wersje i starsze są z czasem wyłączane — trzeba mieć kogoś, kto raz w roku to podniesie.
Wybieram tę drogę, gdy liczba transakcji jest duża, proces sprzedaży szybki albo gdy firma i tak ma dział rozwoju, dla którego to zadanie na kilka dni.
Osobna ścieżka, przydatna, gdy nie da się przechwycić GCLID.
Zamiast identyfikatora kliknięcia przesyłasz zahaszowany adres e-mail, który klient sam podał w formularzu. Dopasowanie następuje po stronie Google. Zaletą jest to, że nie musisz nic zmieniać na etapie wejścia na stronę — wystarczy, że masz kontakt w CRM.
Ograniczenie jest wbudowane w metodę: dopasuje się tylko część rekordów, bo nie każdy użytkownik jest rozpoznawalny. Nie traktuję tego jako słabości rozwiązania, a jako jego charakterystykę — i uprzedzam o tym, zanim ktoś porówna liczby z CRM z liczbami w panelu i uzna, że coś jest zepsute.
Dane osobowe wymagają tu szczególnej uwagi: haszowanie musi być zgodne ze specyfikacją, a podstawa prawna przekazywania takich danych powinna być ustalona przed wdrożeniem, nie po.
Pierwsza rzecz, na którą patrzę po wdrożeniu, to odsetek dopasowanych rekordów. Jeśli z pliku ze stu konwersjami przypisało się pięć, problem prawie zawsze siedzi w przechwytywaniu GCLID — najczęściej ginie on przy przejściu przez podstronę albo przy przekierowaniu.
Druga to rozkład konwersji w czasie. Zaimportowane konwersje pojawiają się w raportach z datą kliknięcia, więc dane z ostatnich tygodni będą przez pewien czas wyglądać na niepełne. To normalne i trzeba to uwzględnić przy ocenie kampanii — porównywanie ostatnich siedmiu dni z okresem sprzed dwóch miesięcy zawsze wypadnie na niekorzyść bieżącego okresu.
Trzecia to zgodność z CRM. Raz w miesiącu zestawiam liczbę zamkniętych transakcji w CRM z liczbą zaimportowanych konwersji. Rozjazd, który rośnie, oznacza zwykle albo zmianę w formularzu, albo cichą awarię harmonogramu.
Na koniec rzecz, o której łatwo zapomnieć w euforii po wdrożeniu: dopóki nowe akcje konwersji nie zbiorą sensownej historii, nie przełączam na nie strategii automatycznej. Najpierw obserwuję dane, potem zmieniam sposób licytowania — nie odwrotnie.
Używamy plików cookies, aby ułatwić Ci nawigację oraz wykonywanie określonych funkcji. Szczegółowe informacje o wszystkich plikach cookies znajdziesz w każdej kategorii zgody poniżej.
Pliki cookies oznaczone jako "Niezbędne" są przechowywane w Twojej przeglądarce, ponieważ są one kluczowe dla zapewnienia podstawowych funkcji strony.
Używamy również plików cookies firm trzecich, które pomagają nam analizować, w jaki sposób korzystasz z tej strony, zapamiętują Twoje preferencje oraz dostarczają treści i reklamy odpowiednie dla Ciebie. Te pliki cookies będą przechowywane w Twojej przeglądarce tylko za Twoją uprzednią zgodą.
Możesz zdecydować, czy chcesz włączyć lub wyłączyć niektóre bądź wszystkie te pliki cookies, jednak wyłączenie niektórych z nich może wpłynąć na Twoje doświadczenia podczas przeglądania strony.
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| __cf_bm | 13 minutes | Cloudflare bot management — distinguishes humans from bots. |
| rc::* | Persistent | Google reCAPTCHA — localStorage holding anti-bot challenge state. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| wpEmojiSettingsSupports | Session | WordPress — sessionStorage flag caching whether the browser can render emoji (feature detection). |
| ytidb* | Persistent | YouTube — IndexedDB storing playback/search state for embedded videos. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| _ga_* | 400 days | Google Analytics 4 — persists session state per property. |
| _ga | 400 days | Google Analytics — distinguishes unique users via a client id. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| NID | 183 days | Google — stores preferences for personalized ads. |
| fr | 90 days | Meta — encrypted Facebook id and browser id for ads. |
| _gcl_au | 90 days | Google AdSense/Ads — experiments with advertising efficiency (conversion linker). |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| __Secure-YNID | 180 days | |
| YSC | Session | |
| __Secure-ROLLOUT_TOKEN | 180 days | |
| VISITOR_INFO1_LIVE | 180 days | |
| VISITOR_PRIVACY_METADATA | 180 days | |
| datr | 400 days | |
| sb | 400 days | |
| wd | 7 days |