Platforme de publicitate și magazine online

Tracking server-side în WooCommerce: ghid de configurare

Configurează tracking-ul server-side în WooCommerce: trimite comenzile plătite către Meta și TikTok cu pluginul ROASaurus sau cu webhook-uri, asociază-le cu click-urile pe reclame și testează.

·Actualizat pe ·11 min de citit·De echipa ROASaurus

Ideile principale
  • Tracking-ul server-side în WooCommerce trimite fiecare comandă plătită din propriile date ale comenzii din magazin către Meta, TikTok și alte platforme de publicitate, așa că o achiziție se numără chiar și când pixelul din browser nu se declanșează niciodată.
  • ROASaurus consideră o comandă WooCommerce plătită când statusul ei este processing sau completed, ceea ce include comenzile cu plata la livrare și transferurile bancare după ce le confirmi.
  • Pluginul ROASaurus salvează id-ul de vizitator și cookie-urile click-ului pe reclamă pe fiecare comandă la checkout, așa că comanda este legată exact de click-ul ei pe reclamă.
  • Fără plugin, webhook-urile livrează în continuare fiecare comandă plătită, dar nu există asociere prin pagina de mulțumire: comenzile sunt legate doar printr-un email dat mai devreme pe site sau printr-o adresă IP și un browser unice.
  • Pe WooCommerce, scriptul ROASaurus urmează pluginurile de consimțământ care folosesc WP Consent API, precum Complianz și CookieYes, și bannerele Cookiebot, OneTrust și IAB TCF.

Tracking-ul server-side în WooCommerce trimite fiecare comandă plătită din datele comenzii din magazinul tău către Meta, TikTok și alte platforme de publicitate, în loc să se bazeze doar pe un pixel din browserul cumpărătorului. Achiziția este raportată chiar și când un blocant de reclame oprește pixelul sau cumpărătorul nu ajunge niciodată pe pagina de mulțumire.

Acest ghid explică de ce pierd magazinele WooCommerce conversii, ce date de comandă îți oferă WooCommerce și cele două moduri de a conecta ROASaurus: pluginul WordPress sau webhook-urile. Apoi urmează asocierea, consimțământul, configurarea și testarea. Pentru ideea generală, citește ce este tracking-ul server-side.

De ce pierd magazinele WooCommerce conversii?

Un pixel din browser raportează o achiziție doar atunci când scriptul pixelului se încarcă, cumpărătorul ajunge pe pagina de mulțumire și browserul trimite evenimentul. Fiecare pas poate eșua. Comanda în sine rămâne în baza ta de date, pentru că WooCommerce o salvează pe server.

Ce se întâmplăPixel în browserDatele comenzii în WooCommerce
Cumpărătorul plătește prin redirecționare (de exemplu PayPal sau o aplicație bancară) și închide filaFără pagină de mulțumire, fără eveniment de achizițieComandă plătită, status processing
Un blocant de reclame sau o setare de confidențialitate blochează scriptul pixeluluiNiciun eveniment de achizițieComandă plătită
Vizitatorul refuză cookie-urile de marketingPixelul nu trebuie să se încarceComandă plătită
Un transfer bancar este confirmat trei zile mai târziuNiciun browser nu este deschis în acel momentStatusul trece din on hold în processing
Un plugin de caching sau de optimizare a scripturilor întârzie pixelulEvenimentul poate întârzia sau lipsiComandă plătită
În fiecare caz, comanda plătită există în WooCommerce. Tracking-ul server-side trimite acea comandă, indiferent ce s-a întâmplat în browser.

Achizițiile lipsă produc două feluri de daune. Platforma de publicitate optimizează pe mai puține conversii, iar rapoartele tale arată un randament mai mic decât obții de fapt. Iată al doilea efect în cifre, pentru un magazin exemplu cu un ROAS de break-even de 2.2:

Magazin exemplu, o lunăDoar pixelToate comenzile plătite
Cheltuieli cu reclamele Meta$8,000$8,000
Achiziții din click-uri Meta260320
Venit la $60 per comandă$15,600$19,200
ROAS15,600 ÷ 8,000 = 1.9519,200 ÷ 8,000 = 2.40
Față de break-even (2.2)Pare o pierdereProfitabil
Cifre ilustrative. Aceeași campanie pare o pierdere pe datele pixelului și este profitabilă pe datele comenzii.

Ce îți oferă WooCommerce: comenzi, webhook-uri și REST API

Ce statusuri de comandă contează ca plătite?

WooCommerce descrie processing ca plată primită, cu comanda în așteptarea onorării. ROASaurus trimite comenzile cu statusul processing sau completed și le omite pe cele cu statusul pending payment, on hold, failed, cancelled și refunded. Două metode de plată necesită atenție:

  • Plata la livrare. WooCommerce setează aceste comenzi pe processing până când plata este încasată, așa că ROASaurus le trimite când sunt plasate. Comenzile cu un produs descărcabil sunt excepția: ele trec pe on hold. Vezi urmărirea comenzilor cu plata la livrare pentru ce înseamnă asta în cazul retururilor și refuzurilor.
  • Transfer bancar. WooCommerce pune aceste comenzi pe on hold cât timp verifici plata. ROASaurus le trimite când le muți pe processing.

Webhook-uri

Un webhook este un mesaj pe care WooCommerce îl trimite către alt sistem când se schimbă ceva. Îl creezi în WooCommerce › Settings › Advanced › Webhooks. Pentru un topic de comandă, payload-ul este același obiect de comandă pe care îl returnează REST API. Fiecare livrare conține un antet X-WC-Webhook-Signature: un hash HMAC-SHA256 în base64 al payload-ului, creat cu secretul pe care îl alegi. ROASaurus verifică această semnătură înainte să accepte o comandă.

Două detalii contează în practică. WooCommerce livrează webhook-urile în fundal, implicit cu WP-Cron, așa că o livrare poate întârzia când acea coadă rulează cu întârziere. Iar WooCommerce dezactivează un webhook după mai mult de cinci livrări eșuate la rând.

REST API

REST API îi permite ROASaurus să ceară singur comenzile. Cu o cheie API doar pentru citire, ROASaurus cere la fiecare 5 minute comenzile processing și completed modificate de la ultima verificare, cu o suprapunere de 30 de minute. Comenzile pe care le are deja sunt ignorate. Așa prinde orice comandă pe care un webhook a ratat-o.

Câmp din comandăCe face ROASaurus cu el
idDevine event id-ul order-1042, comun evenimentelor de pe server și din browser
totalValoarea achiziției: totalul general, incluzând taxele și transportul
Email, telefon, nume, oraș, stat, cod poștal și țară din datele de facturareTransformate în hash cu SHA-256 și trimise ca date de client
customer_ip_address, customer_user_agentTrimise cu evenimentul și folosite pentru a asocia comanda cu un vizitator
line_itemsId-urile produselor (id-ul variației, când există), cantitățile și prețurile
date_paid_gmtMomentul evenimentului pentru comenzile primite printr-un webhook sau prin REST API (data creării, când nu există o dată a plății)
meta_dataCu pluginul: id-ul de vizitator și cookie-urile Meta și TikTok
Ce citește ROASaurus dintr-o comandă WooCommerce. Webhook-ul și REST API returnează aceleași câmpuri.

Plugin sau webhook-uri: două moduri de a conecta

Ambele conexiuni trimit fiecare comandă plătită. Diferă prin cât de bine este legată fiecare comandă de click-ul pe reclamă care a adus cumpărătorul.

CheckoutPluginul salvează pe comandă id-ul de vizitator și cookie-urile click-ului
Comandă plătităStatusul processing sau completed
ROASaurusPrimește comanda de la plugin sau de la un webhook
Platforme de publicitateMeta, TikTok și alte platforme primesc un Purchase cu event id order-1042
Traseul datelor cu pluginul. Fără el, pasul de checkout nu salvează nimic în plus, iar comanda ajunge doar prin webhook.
Pluginul ROASaurusDoar webhook-uri
Ce instaleziUn plugin WordPress (PHP 7.4 și WooCommerce 6.0 sau mai nou)Nimic: un webhook în setările WooCommerce
Cum ajung comenzilePluginul trimite fiecare comandă plătită către API-ul de comenzi ROASaurusWooCommerce trimite Order updated; verificare opțională prin REST API la fiecare 5 minute
Script de trackingÎncărcat de plugin pe fiecare paginăÎl adaugi tu, de exemplu cu pluginul WPCode sau în tema ta
Id de vizitator și cookie-uri de click pe comandăDa, salvate la checkout (checkout clasic și cu blocuri)Nu
Achiziție din browser pe pagina de mulțumireDa, cu același event id ca evenimentul de pe serverNu
Asocierea prin pagina de mulțumireDaNu
Ambele conexiuni trimit fiecare comandă plătită. Doar pluginul leagă fiecare comandă de vizitatorul ei la checkout.

Le poți folosi pe amândouă în același timp. Pluginul salvează id-ul de vizitator pe comandă ca meta data a comenzii, iar payload-ul webhook-ului îl transportă mai departe. ROASaurus stochează fiecare comandă o singură dată, după id-ul comenzii WooCommerce, așa că pluginul și webhook-ul nu creează niciodată două achiziții. Pluginul declară și suportul pentru High-Performance Order Storage din WooCommerce.

Cum este asociată o comandă WooCommerce cu click-ul pe reclamă?

O platformă de publicitate poate credita o achiziție unei reclame doar atunci când le poate conecta pe cele două. ROASaurus face asta legând comanda de vizitatorul care a dat click pe reclamă, iar acel vizitator poartă click id-urile (precum fbclid și ttclid) și parametrii UTM de la aterizare. Încearcă aceste metode pe rând și se oprește la prima care funcționează:

  1. Id-ul de vizitator salvat pe comandă. Doar cu pluginul. Aceasta este o legătură exactă.
  2. Achiziția din browser de pe pagina de mulțumire, care conține același id de comandă. Doar cu pluginul.
  3. Un email cu hash dat de vizitator mai devreme pe site-ul tău, de exemplu într-un formular popup Klaviyo, Attentive sau Wisepops, sau printr-un apel Identify.
  4. Aceeași adresă IP și același browser, văzute de la 3 ore înainte până la 15 minute după comandă, dar doar când se potrivește exact un singur vizitator. În rețelele partajate, precum birourile și operatorii mobili, mai mulți vizitatori au adesea aceeași adresă IP, iar atunci ROASaurus nu ghicește.

ROASaurus așteaptă puțin înainte să trimită fiecare achiziție, ca evenimentul de pe pagina de mulțumire să poată ajunge primul. Dacă comanda tot nu este asociată, încearcă din nou în momentul trimiterii. Pagina Orders arată rezultatul pentru fiecare comandă în coloana Matched by. Comenzile legate prin id-ul de vizitator al pluginului afișează cart, aceeași etichetă pe care o primesc comenzile Shopify.

Trimis către Meta pentru comanda 1042Asociată (plugin)Neasociată (doar webhook-uri)
Event id order-1042DaDa
Email, telefon, nume și adresă cu hashDaDa
Adresa IP și browserul comenziiDaDa
Click id și id de browser Meta (fbc, fbp)DaNu
Id de vizitator cu hash (external_id)DaNu
Click-ul pe reclamă în atribuirea ROASaurusCampania și reclama din clickApare ca direct sau necunoscut
O comandă neasociată ajunge totuși la Meta cu datele comenzii. O comandă asociată adaugă identificatorii de click pe care Meta îi folosește ca să crediteze reclama.

Acești identificatori de click cresc rata de potrivire a evenimentului la Meta. Event Match Quality explică cum îi evaluează Meta.

Fiecare magazin din ROASaurus are setarea Respect visitor consent, activată implicit. Pe WooCommerce, scriptul ROASaurus citește alegerea vizitatorului din WP Consent API, pe care îl completează pluginurile de consimțământ precum Complianz și CookieYes. Citește și bannerele Cookiebot, OneTrust, IAB TCF și Google consent mode. Până când vizitatorul acceptă cookie-urile de marketing, scriptul nu setează id de vizitator și nu încarcă pixeli din browser.

Când un vizitator refuză, scriptul nu setează id de vizitator, nu păstrează click id-uri și nu declanșează pixeli din browser, iar pluginul nu stochează cookie-uri de tracking pe comandă. Comanda plătită este în continuare trimisă de pe server către platformele tale de publicitate conectate, cu datele clientului cu hash din comandă și cu adresa IP și browserul comenzii. Dacă sfatul tău juridic spune că și evenimentele de achiziție necesită consimțământ prealabil, contactează ROASaurus înainte să activezi achizițiile server-side. Pagina de ajutor despre consimțământ conține detaliile, iar articolul despre Consent Mode v2 și GDPR tratează contextul juridic.

Cum configurezi tracking-ul server-side în WooCommerce

Acestea sunt pașii pentru varianta cu plugin:

  1. Adaugă magazinul

    În ROASaurus, mergi la Add a store, alege WooCommerce și introdu domeniul pe care îl vizitează clienții tăi.

  2. Creează o cheie API

    Deschide Store settings și, la Orders API, fă click pe Create API key. Copiază cheia imediat: este afișată o singură dată, lângă cheia magazinului tău. Endpoint-ul este adresa dinaintea lui /api/v1/orders de pe acea pagină.

  3. Instalează pluginul

    Descarcă pluginul și încarcă arhiva zip în WordPress la Plugins › Add New Plugin › Upload Plugin, apoi activează-l.

  4. Introdu cheile

    La WooCommerce › ROASaurus, introdu endpoint-ul, cheia magazinului și cheia API, apoi salvează.

  5. Conectează-ți platformele de publicitate

    În Tracking & platforms, folosește Connect with Facebook sau Add pixel pentru Meta, TikTok și celelalte. Bifează opțiunea de a încărca și pixelul din browser, ca achiziția de pe pagina de mulțumire să fie deduplicată cu evenimentul de pe server.

  6. Configurează consimțământul și testează

    Blochează scriptul în instrumentul tău de consimțământ până când vizitatorul acceptă cookie-urile de marketing, apoi plasează o comandă de test.

Fără plugin, adaugă tagul de script din Tracking & platforms pe fiecare pagină, apoi creează webhook-ul. Fila Connection a magazinului tău arată URL-ul webhook-ului. Păstrează-l privat: oricine are URL-ul poate trimite comenzi către magazinul tău.

Setările webhook-ului
WooCommerce › Settings › Advanced › Webhooks › Add webhook

Status        Active
Topic         Order updated
Delivery URL  (your webhook URL from the Connection tab)
Secret        (a secret of your choice; paste the same one in ROASaurus)
API version   WP REST API Integration v3

Pentru backup, creează o cheie în WooCommerce › Settings › Advanced › REST API cu acces de citire. Lipește consumer key și secret în fila Connection, salvează și apasă Test connection. Fetch orders now aduce imediat comenzile plătite recente. Pagina integrării WooCommerce listează toate opțiunile într-un singur loc.

Cum testezi tracking-ul server-side în WooCommerce?

Testează mai întâi partea din browser, apoi plasează o comandă și urmărește-o până la platformele de publicitate.

  • Deschide magazinul cu ?roasaurus=connected în adresă. O alertă confirmă că scriptul rulează. Cu ?roasaurus=debug, scriptul scrie în consola browserului ce trimite.
  • În Event log, la Collected events, vizualizările de pagină ar trebui să afișeze un id de vizitator.
  • Plasează o comandă de test. Plata la livrare este cea mai rapidă, pentru că comanda este imediat în processing.
  • În fila Connection, Last order received arată ora ultimei comenzi.
  • În Event log, la Server deliveries, fiecare platformă conectată primește o linie cu statusul sent și răspunsul platformei.
PageView visitor 3f9c2a1eScript încărcat cu consimțământ
Purchase order-1042Pagina de mulțumire, pixelii din browser declanșați
order 1042 processingPrimit de la plugin
Meta Purchase sentAcelași event id, deduplicat
TikTok CompletePayment sentAcelași event id, deduplicat
Exemplu de comandă de test sănătoasă cu pluginul. Doar cu webhook-uri, linia paginii de mulțumire lipsește, iar asta este de așteptat.

Ca să vezi evenimentul în Meta, lipește codul din Events Manager › Test events în câmpul Test event code al pixelului tău Meta din ROASaurus. Elimină-l când ai terminat, pentru că acel cod este destinat doar testării. Dacă pluginul nu poate livra o comandă, adaugă în WooCommerce o notă la comandă care începe cu „ROASaurus: order not sent”, urmată de eroare.

Greșeli de evitat

  • Folosirea topicului Order created. Comenzile plătite prin redirecționare sunt create cu statusul pending payment. ROASaurus ignoră comenzile neplătite și nu urmează un al doilea mesaj „created” când sosește plata. Folosește Order updated.
  • Un secret care nu se potrivește. ROASaurus respinge o livrare a cărei semnătură nu se potrivește cu secretul pe care îl are. După mai mult de cinci eșecuri la rând, WooCommerce dezactivează webhook-ul. Corectează secretul, setează webhook-ul înapoi pe Active și adaugă cheia REST API, ca să fie aduse comenzile din intervalul pierdut.
  • Două instrumente care trimit același pixel. Dacă un alt plugin trimite și el pixelul tău Meta sau TikTok, folosește propriile event id-uri, iar platforma numără fiecare vânzare de două ori. Oprește-l pentru acel pixel. Vezi evitarea numărării duble și evenimentele de achiziție duplicate.
  • Așteptarea evenimentelor de adăugare în coș. În WooCommerce, scriptul urmărește singur doar vizualizările de pagină. Vizualizările de produs și adăugările în coș sunt detectate automat doar în Shopify. Un dezvoltator le poate trimite cu un apel de track tlq.
  • Așteptarea conversiilor Google Ads. ROASaurus trimite conversiile de achiziție Google Ads doar din checkout-ul Shopify. Din WooCommerce, trimite achiziții către Meta, TikTok, Snapchat, Pinterest, Reddit, X, Microsoft Ads, Taboola, LinkedIn și celelalte platforme de publicitate pe care le conectezi.
  • Transferuri bancare întârziate. Meta acceptă evenimente de pe server până la 7 zile după momentul evenimentului. Pluginul trimite comanda cu data la care a fost creată, așa că Meta respinge un transfer confirmat la mai mult de 7 zile după checkout. Comenzile care sosesc prin webhook sau prin REST API folosesc în schimb data plății. Reține și că pagina de mulțumire declanșează achiziția din browser la checkout, înainte ca transferul să fie plătit. Dacă plata este confirmată după mai mult de 48 de ore, Meta și TikTok nu pot îmbina copiile din browser și de pe server, iar un transfer care nu este plătit niciodată își păstrează achiziția din browser.

Odată ce comenzile curg, rapoartele de atribuire arată din ce campanii și reclame provin.

Surse

  1. WooCommerce: Webhooks Documentation
  2. WooCommerce REST API Documentation - WP REST API v3
  3. WooCommerce: Order Statuses Documentation
  4. WooCommerce: Cash on Delivery Documentation
  5. Meta for Developers: Server Event Parameters

În ROASaurus

Continuă lectura

Platforme de publicitate și magazine onlineTracking-ul conversiilor pentru plata ramburs și checkout-urile externeTracking-ul conversiilor pentru plata ramburs: de ce pixelii pierd comenzile ramburs și pe cele din checkout-uri externe, când să trimiți achiziția și cum gestionezi comenzile refuzate.Platforme de publicitate și magazine onlineTracking-ul conversiilor în CCV Shop: ghid de configurareTracking-ul conversiilor în CCV Shop: trimite comenzile plătite către Meta și TikTok printr-un webhook semnat, leagă-le de click-urile pe reclame, configurează, testează și gestionează plățile întârziate.Platforme de publicitate și magazine onlineEnhanced conversions în Google Ads pe ShopifyEnhanced conversions adaugă date de client cu hash la achizițiile din Google Ads pe Shopify. Cum funcționează, prin ce diferă de importurile offline și cum se configurează.
Întrebări frecvente

Întrebări, cu răspunsuri

Am nevoie de pluginul ROASaurus pentru WooCommerce?

Nu. Un webhook WooCommerce este suficient pentru a trimite fiecare comandă plătită. Pluginul adaugă id-ul de vizitator și cookie-urile de click la fiecare comandă și o achiziție deduplicată din browser pe pagina de mulțumire, ceea ce leagă exact comenzile de click-urile pe reclame, așa că este recomandat.

Ce topic de webhook WooCommerce ar trebui să folosesc?

Order updated, cu versiunea API WP REST API Integration v3. ROASaurus ignoră comenzile care nu sunt processing sau completed și stochează fiecare comandă o singură dată, așa că actualizările repetate nu creează achiziții în plus.

Sunt comenzile cu plata la livrare trimise către Meta și TikTok?

Da. WooCommerce dă comenzilor cu plata la livrare statusul processing când sunt plasate, iar ROASaurus consideră comenzile processing ca plătite. Comenzile cu transfer bancar sunt trimise când le muți din on hold în processing.

Ce se trimite când un vizitator refuză cookie-urile?

Comanda plătită este în continuare trimisă de pe server, cu datele clientului cu hash și cu adresa IP și browserul din comandă. Scriptul nu ar trebui să ruleze fără consimțământ, așa că nu există un id de vizitator sau un click id care să lege comanda de un click pe reclamă.

De ce a încetat să funcționeze webhook-ul meu WooCommerce?

WooCommerce dezactivează un webhook după mai mult de cinci livrări eșuate la rând. Verifică dacă secretul din WooCommerce se potrivește cu cel din ROASaurus, setează webhook-ul înapoi pe Active și adaugă o cheie REST API, ca să fie aduse la fiecare 5 minute comenzile ratate.

Trimite ROASaurus conversii Google Ads din WooCommerce?

Nu pentru achiziții. Conversiile de achiziție Google Ads sunt trimise doar din checkout-ul Shopify. Din WooCommerce, ROASaurus trimite achiziții către Meta, TikTok, Snapchat, Pinterest, Reddit, X, Microsoft Ads, Taboola, LinkedIn și celelalte platforme de publicitate pe care le conectezi.

Fiecare vânzare, urmărită până la reclama care a adus-o

Tracking server-side, profit și lifetime value într-o singură aplicație. Probă gratuită de 14 zile, fără card bancar.

Începe proba gratuită →