rytisbalys.com / lt

Facebook Pixel neveikia arba dubliuoja pirkimus: ką tikrinti

Pixelis įdiegtas, reklama sukasi, bet Events Manager arba nerodo pirkimų, arba rodo jų maždaug dvigubai daugiau nei realiai turite užsakymų. Priežastis beveik visada viena iš dviejų: Purchase eventas iš viso nešauna, arba browser pixel ir Conversions API siunčia tą patį pirkimą du kartus be bendro event_id.

Abu atvejai gadina tą patį dalyką - duomenis, pagal kuriuos Meta optimizuoja jūsų kampanijas. Žemiau parodau, kaip per 15 minučių nustatyti, kuris variantas jūsų, ir ką tvarkyti.

Pirma priežastis: Purchase eventas niekada nešauna

Pixelio bazinis kodas ir Purchase eventas yra du skirtingi dalykai. Bazinis kodas užsikrauna kiekviename puslapyje ir siunčia PageView. Purchase turi iššauti tik užsakymo patvirtinimo puslapyje, ir būtent ši dalis dažniausiai būna sulūžusi. Events Manager tada rodo srautą, bet pirkimų - nulis arba tik dalis.

Dažniausi scenarijai iš praktikos:

Antra priežastis: browser pixel + Conversions API be bendro event_id

Kai pirkimą siunčia ir naršyklės pixelis, ir serveris per Conversions API, Meta gauna du Purchase eventus apie tą patį užsakymą. Sistema juos sujungia tik tada, kai sutampa du laukai: event_name ir event_id. Jei event_id nesutampa arba jo iš viso nėra, abu eventai užskaitomi kaip atskiri pirkimai.

Tipinė klaida: serveris siunčia užsakymo numerį, o naršyklė - atsitiktinį hash'ą arba nieko. Rezultatas: Events Manager rodo maždaug dvigubai daugiau pirkimų nei turite užsakymų, o ROAS ataskaitose atrodo dvigubai geresnis nei realybėje.

Teisingas variantas atrodo taip:

fbq('track', 'Purchase',
  { value: 59.90, currency: 'EUR' },
  { eventID: 'order_10482' }
);

// Serveris per Conversions API siunčia tą patį ID:
// "event_name": "Purchase"
// "event_id": "order_10482"

event_id turi būti unikalus kiekvienam užsakymui ir identiškas abiejuose kanaluose. Paprasčiausia naudoti užsakymo numerį.

Kaip pasitikrinti per 15 minučių

Nespėliokite. Padarykite testinį pirkimą ir pažiūrėkite, kas realiai atkeliauja pas Meta.

Kodėl netikri skaičiai brangina kampanijas

Meta algoritmas optimizuoja pagal tuos Purchase signalus, kuriuos gauna. Ne pagal jūsų realius užsakymus.

Kai pirkimai dubliuojasi, kiekvienas ad setas atrodo dvigubai pelningesnis. Skaliuojate tai, kas realiai nuostolinga, ir pastebite tik tada, kai banko sąskaita nesutampa su Ads Manager ataskaita. Value optimizacija ir Advantage+ kampanijos gauna iškreiptas vertes, o tai reiškia, kad biudžetas keliauja ne ten.

Kai Purchase nešauna, kampanija su pirkimo optimizacija neturi iš ko mokytis. Ji stringa learning fazėje, rodymai nestabilūs, o sistema taikosi į žmones, kurie panašūs į klikintojus, ne į pirkėjus. Kaina už realų pirkimą auga, nors ataskaitose to nesimato, nes ataskaitose pirkimų tiesiog nėra.

Abiem atvejais mokate už reklamą, kuri mokosi iš klaidingų duomenų. Tai brangiausia tracking'o klaida, nes ji kaupiasi kiekvieną dieną.

D.U.K.

Kaip suprasti, ar Events Manager dubliuoja mano pirkimus?

Palyginkite paskutinių 7 dienų Purchase kiekį Events Manager su realiais užsakymais parduotuvės admin'e. Jei Meta rodo maždaug dvigubai daugiau, browser pixel ir Conversions API siunčia tuos pačius pirkimus be bendro event_id. Paspaudę ant Purchase evento Events Manager viduje matysite išskaidymą pagal kanalą ir deduplikacijos statistiką.

Ar palikti browser pixelį, jei jau turiu Conversions API?

Taip, palikite abu. Naršyklės pixelis duoda Meta papildomo konteksto atitikimui (match quality), o serveris pagauna pirkimus, kuriuos blokuoja iOS ar ad blocker'iai. Svarbu viena sąlyga: abu kanalai turi siųsti tą patį event_id, kad Meta dublikatus išmestų.

Pixel Helper rodo, kad pixelis įdiegtas. Kodėl pirkimai vis tiek nesimato?

Įdiegtas bazinis kodas dar nereiškia, kad šauna Purchase eventas - bazinis kodas siunčia tik PageView. Patikrinkite būtent padėkos puslapį po testinio pirkimo. Dažniausiai eventas pamestas ten: pasikeitęs URL trigger'yje, apmokėjimas kitame domene arba consent juosta, blokuojanti skriptą.

Kiek pirkimų pameta vien naršyklės pixelis be server-side?

Priklauso nuo auditorijos, bet tipinis intervalas yra 10-30 procentų: iOS apribojimai, ad blocker'iai ir consent atmetimai. Būtent šiai spragai dengti Meta ir sukūrė Conversions API. Bet įjungus jį be deduplikacijos problema tik apsiverčia - vietoj pamestų pirkimų gaunate dvigubus.

Tokius auditus darau kas savaitę: pereinu visą eventų grandinę nuo checkout'o iki Events Manager, sutvarkau deduplikaciją ir parodau prieš-po skaičius. Jei norite, kad kas peržiūrėtų jūsų setup'ą, parašykite work@rytisbalys.com.

work@rytisbalys.com