Ce face, într-o frază: magazinul ne anunță fiecare comandă (webhook), noi regăsim vizita care a produs-o (click id-uri Google, cookie-urile Meta, GA client id — „magazia de vizitatori”), calculăm profitul comenzii (preț de vânzare − preț de achiziție − transport − ambalare − comisioane) și îl trimitem la Google Ads, GA4 și Meta ca evenimentul profit, ca să optimizezi campaniile pe profit (POAS), nu pe venit.
site (SDK) ──► Edge ──► magazie: bc_id ↔ email/telefon hash, transaction_id, click id-uri, _fbp/_fbc, GA cid
▲
magazin ──webhook──► Edge ──► comanda normalizată ──► profit (feed de costuri + formulă) ──► evenimentul offline `profit`
│
GA4 `purchase_profit` ◄───────────┼──► Google Ads „Profit (POAS)” (tag în containerul server)
Meta eveniment custom `Profit` ◄──┘
transaction_id (dacă site-ul a trimis purchase), apoi prin hash-ul de email / telefon / id client. Se folosesc IP-ul, User-Agent-ul, _fbp/_fbc, gclid/wbraid/gbraid și GA client id ale vizitei. Fără vizită găsită: evenimentul pleacă cu action_source=system_generated și potrivire doar pe email/telefon (hash).
rândurile expiră după *retentionDays* (implicit 90). Datele personale sunt doar hash-uri. Evenimentul offline moștenește consimțământul vizitei (fără ads consent → Meta sare, Google primește semnalele de refuz).
profit per comandă (event_id = profit_<order_id>), oricâte livrări repetate face magazinul. Anulare / retur după ce profitul a plecat → refund (doar GA4, evenimentul standard cu transaction_id).
profit = Σ (preț net încasat − cost achiziție) × cantitate
+ transport încasat de la client (net)
− costul tău de transport − ambalare
− comision plată % × total comandă − taxă fixă
cost din webhook (per produs) → feed-ul de costuri (după SKU / product_id / id / variant_id) → marja implicită (*fallback margin*, marcat în Events ca „N item(s) without cost”). Un profit explicit pe comandă (format generic) se trimite ca atare.
minProfit = 0 înseamnă că nu trimitem valori negative (Google Ads le respinge); gol = trimitem numărul real.paid (recomandat: aproape de click), la completed (evită comenzile anulate, dar vine după zile) sau la orice status.https://<host>/bc/webhook/<secret>?source=woocommerce|shopify|generic.*Order payment*, *Order cancellation*, *Refund create*, JSON. Gomag / PrestaShop / ERP: POST JSON pe URL-ul generic după fiecare comandă și schimbare de status.
sku, id, product_id, cod, code, g:id și cost, purchase_price, pret_achizitie, cost_price, g:cost_of_goods_sold. Id-ul trebuie să fie cel trimis de magazin în comandă (SKU e cel mai sigur).
re-descarcă și îmbină presetul serverului (Install → B). Presetul primește tag-ul *BC - Google Ads conversion - Profit (POAS)* pe evenimentul purchase_profit.
Profit; GA4: purchase_profit marcat key event.webhook:<sursă> (comanda, statusul, profitul, „visit matched by …”) și apoi profit cu răspunsul fiecărei platforme.Formatul generic (orice denumire apropiată e înțeleasă):
{ "order_id": "1001", "status": "paid", "currency": "RON", "total": 266.20, "shipping": 20, "prices_include_vat": true,
"items": [{ "sku": "A", "name": "Dress", "quantity": 2, "price": 121, "cost": 60 }],
"customer": { "email": "client@example.com", "phone": "+40722000000", "id": "55" }, "profit": 80 }
Statusuri: paid / processing / confirmed / platita → paid; completed / delivered / livrata → completed; pending → created; cancelled / anulata; refunded / returned / returnata.