Przejdź do treści

Meta Pixel i Conversions API z deduplikacją

Meta Pixel działa w przeglądarce, więc adblockery i ograniczenia przeglądarek zatrzymują część jego zdarzeń. Conversions API (CAPI) wysyła te same zdarzenia z Twojego kontenera serwerowego, co dużo trudniej zablokować. Meta zaleca używanie obu. Haczyk polega na tym, że każda konwersja przychodzi wtedy dwa razy, więc obu kopiom nadajesz ten sam identyfikator zdarzenia, a Meta zostawia jedną.

Zaawansowany 12 min czytania

Czego się nauczysz

  • Wyślesz zdarzenia Meta Pixel z kontenera Web z event_id.
  • Przekażesz ten sam event_id do kontenera serwerowego razem z trafieniem GA4.
  • Skonfigurujesz tag Conversions API w kontenerze serwerowym.
  • Potwierdzisz w Events Manager, że zdarzenia z przeglądarki i serwera są deduplikowane.

Zanim zaczniesz

  • GA4 działające przez Twój kontener serwerowy (lekcja 4).
  • Uprawnienia administratora do Twojego Meta Pixel (zbioru danych) w Events Manager.
  • Skonfigurowany Consent Mode (lekcja 6), jeśli tagi marketingowe wymagają zgody.

01 Jak działa deduplikacja

Meta traktuje zdarzenie z przeglądarki i zdarzenie z serwera jako to samo zdarzenie, gdy pochodzą z tego samego Pixela, mają ten sam event_name i ten sam event_id i docierają w odstępie najwyżej 48 godzin. Jedno zostawia, drugie odrzuca.

  • Nazwa zdarzenia musi się zgadzać dokładnie, na przykład Purchase w obu.
  • event_id musi być identyczny w obu, więc trzeba go utworzyć raz, w przeglądarce, i przekazać dalej.
  • Ciasteczka _fbp i _fbc pomagają Mecie dopasować zdarzenie z serwera do odwiedzającego. Trafienie GA4 idzie na Twoją własną subdomenę, więc przeglądarka wysyła z nim te ciasteczka, a tag serwerowy może je odczytać.

02 Utwórz identyfikator zdarzenia w kontenerze Web

Wygeneruj unikalny identyfikator w chwili zdarzenia i wyślij go do dataLayer razem ze zdarzeniem.

js
const eventId = crypto.randomUUID();

window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
  event: 'purchase',
  event_id: eventId,
  ecommerce: {
    transaction_id: 'T-10293',
    value: 129.90,
    currency: 'EUR',
    items: [{ item_id: 'SKU-1', item_name: 'Shoes', price: 129.90, quantity: 1 }]
  }
});
  1. 1 W kontenerze Web utwórz zmienną Data Layer Variable o nazwie event_id.
  2. 2 W tagu Meta Pixel (z Community Template Gallery albo z Twojej dotychczasowej konfiguracji) ustaw nazwę zdarzenia na Purchase, a pole Event ID na {{DLV - event_id}}.
  3. 3 Otwórz tag zdarzenia GA4, który wysyła purchase, i dodaj parametr zdarzenia event_id z wartością {{DLV - event_id}}. Identyfikator trafia teraz do kontenera serwerowego w trafieniu GA4.
  4. 4 Opublikuj kontener Web, gdy Preview pokaże ten sam identyfikator w obu tagach.

03 Dodaj tag Conversions API w kontenerze serwerowym

Najpierw zdobądź token dostępu: w Events Manager wybierz swój Pixel, otwórz Settings, przewiń do Conversions API i kliknij Generate access token. Trzymaj token w tajemnicy, bo pozwala wysyłać zdarzenia do Twojego Pixela.

  1. 1 W kontenerze serwerowym wejdź w Templates, potem Tag Templates, i kliknij Search Gallery. Dodaj szablon Conversions API, na przykład oficjalny Conversions API Tag od Mety albo szablon od Stape.
  2. 2 Utwórz nowy tag z szablonu. Wpisz Pixel ID i access token.
  3. 3 Zmapuj nazwę zdarzenia (GA4 purchase na Meta Purchase), jeśli szablon nie robi tego za Ciebie.
  4. 4 Upewnij się, że identyfikator zdarzenia pochodzi z parametru zdarzenia event_id. Większość szablonów odczytuje go automatycznie.
  5. 5 Uruchamiaj tag regułą Custom, w której Client Name equals GA4 i Event Name equals purchase.

04 Przetestuj w Events Manager

  1. 1 W Events Manager wybierz swój Pixel i otwórz Test events. Skopiuj kod testowy (wygląda jak TEST12345).
  2. 2 Wklej go w pole Test Event Code tagu serwerowego i opublikuj albo testuj w Preview serwera.
  3. 3 Wywołaj zdarzenie na stronie. Powinno pojawić się zdarzenie Browser i zdarzenie Server.
  4. 4 Sprawdź, czy są oznaczone jako zdeduplikowane. Jeśli nie, porównaj nazwę zdarzenia i event_id w obu.
  5. 5 Po skończeniu usuń kod zdarzenia testowego, bo inaczej prawdziwe zdarzenia będą dalej lądować w Test events.
  • Zdarzenie Pixela i trafienie GA4 mają ten sam event_id.
  • Preview serwera pokazuje, że tag Conversions API się uruchomił i dostał odpowiedź 2xx.
  • Events Manager pokazuje zdeduplikowane zdarzenia z przeglądarki i serwera.
  • Kod zdarzenia testowego jest usunięty z produkcyjnego tagu.

Najczęstsze pytania

Czy mogę używać tylko Conversions API i zrezygnować z Pixela?

Możesz, ale Meta zaleca oba. Pixel zbiera sygnały z przeglądarki, których serwer nie widzi, a serwer obejmuje odwiedzających, których przeglądarka blokuje Pixel. Deduplikacja pilnuje, żeby liczby się zgadzały.

Dlaczego Events Manager liczy moje zakupy podwójnie?

Oba zdarzenia nie mają tej samej nazwy i tego samego event_id. Sprawdź, czy oba tagi odczytują identyfikator z tego samego pusha do dataLayer i czy tag serwerowy dostaje parametr event_id z trafienia GA4.

Skąd na serwerze biorą się `_fbp` i `_fbc`?

Ustawia je Pixel w przeglądarce. Trafienia GA4 idą na subdomenę Twojej strony, więc przeglądarka wysyła z nimi te ciasteczka, a szablon Conversions API odczytuje je z zapytania.

Gotowy, żeby przejść do praktyki?

Wdróż kontener server GTM na własnej domenie w kilka minut. Plan darmowy nie wymaga karty.

Załóż darmowe konto