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_iddo 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.
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
Purchasew obu. -
event_idmusi być identyczny w obu, więc trzeba go utworzyć raz, w przeglądarce, i przekazać dalej. - Ciasteczka
_fbpi_fbcpomagają 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.
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 W kontenerze Web utwórz zmienną Data Layer Variable o nazwie
event_id. - 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 Otwórz tag zdarzenia GA4, który wysyła
purchase, i dodaj parametr zdarzeniaevent_idz wartością{{DLV - event_id}}. Identyfikator trafia teraz do kontenera serwerowego w trafieniu GA4. - 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 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 Utwórz nowy tag z szablonu. Wpisz Pixel ID i access token.
- 3 Zmapuj nazwę zdarzenia (GA4
purchasena MetaPurchase), jeśli szablon nie robi tego za Ciebie. - 4 Upewnij się, że identyfikator zdarzenia pochodzi z parametru zdarzenia
event_id. Większość szablonów odczytuje go automatycznie. - 5 Uruchamiaj tag regułą Custom, w której Client Name equals
GA4i Event Name equalspurchase.
04 Przetestuj w Events Manager
- 1 W Events Manager wybierz swój Pixel i otwórz Test events. Skopiuj kod testowy (wygląda jak
TEST12345). - 2 Wklej go w pole Test Event Code tagu serwerowego i opublikuj albo testuj w Preview serwera.
- 3 Wywołaj zdarzenie na stronie. Powinno pojawić się zdarzenie Browser i zdarzenie Server.
- 4 Sprawdź, czy są oznaczone jako zdeduplikowane. Jeśli nie, porównaj nazwę zdarzenia i
event_idw obu. - 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