- WooCommerce sunucu tarafı takip, her ödenmiş siparişi mağazanın kendi sipariş verisinden Meta'ya, TikTok'a ve diğer reklam platformlarına gönderir; böylece tarayıcı pikseli hiç tetiklenmese bile bir satın alım sayılır.
- ROASaurus, bir WooCommerce siparişini durumu processing (işleniyor) veya completed (tamamlandı) olduğunda ödenmiş sayar; kapıda ödeme siparişleri ve banka havaleleri de siz onayladıktan sonra bu kapsama girer.
- ROASaurus eklentisi, ödeme sırasında ziyaretçi kimliğini ve reklam tıklaması çerezlerini her siparişe kaydeder; böylece sipariş, reklam tıklamasına tam olarak bağlanır.
- Eklenti olmadan da webhook'lar her ödenmiş siparişi iletir, ancak teşekkür sayfası eşleştirmesi olmaz: siparişler yalnızca sitede daha önce verilmiş bir e-posta ya da benzersiz bir IP adresi ve tarayıcı ile bağlanır.
- WooCommerce'te ROASaurus betiği, Complianz ve CookieYes gibi WP Consent API'sini kullanan rıza eklentilerini ve Cookiebot, OneTrust ve IAB TCF bildirimlerini izler.
WooCommerce sunucu tarafı takip, yalnızca alışveriş yapanın tarayıcısındaki bir piksele güvenmek yerine her ödenmiş siparişi mağazanızın sipariş verisinden Meta'ya, TikTok'a ve diğer reklam platformlarına gönderir. Bir reklam engelleyici pikseli durdursa ya da alışveriş yapan teşekkür sayfasına hiç ulaşmasa bile satın alım raporlanır.
Bu rehber, WooCommerce mağazalarının dönüşümleri neden kaybettiğini, WooCommerce'in size verdiği sipariş verisini ve ROASaurus'u bağlamanın iki yolunu ele alır: WordPress eklentisi veya webhook'lar. Ardından eşleştirme, rıza, kurulum ve test gelir. Genel fikir için sunucu tarafı takip nedir yazısını okuyun.
WooCommerce mağazaları dönüşümleri neden kaybeder?
Bir tarayıcı pikseli, yalnızca piksel betiği yüklendiğinde, alışveriş yapan teşekkür sayfasına ulaştığında ve tarayıcı olayı gönderdiğinde bir satın alımı raporlar. Her adım başarısız olabilir. Sipariş ise yine veritabanınızdadır, çünkü WooCommerce onu sunucuya kaydeder.
| Ne olur | Tarayıcı pikseli | WooCommerce'te sipariş verisi |
|---|---|---|
| Alışveriş yapan bir yönlendirmeyle öder (örneğin PayPal veya bir banka uygulaması) ve sekmeyi kapatır | Teşekkür sayfası yok, satın alım olayı yok | Ödenmiş sipariş, durumu processing |
| Bir reklam engelleyici ya da gizlilik ayarı piksel betiğini engeller | Satın alım olayı yok | Ödenmiş sipariş |
| Ziyaretçi pazarlama çerezlerini reddeder | Piksel yüklenmemelidir | Ödenmiş sipariş |
| Bir banka havalesi üç gün sonra onaylanır | O anda hiçbir tarayıcı açık değildir | Durum on hold'dan processing'e geçer |
| Bir önbellekleme ya da betik optimizasyonu eklentisi pikseli geciktirir | Olay geç gelebilir ya da hiç gelmeyebilir | Ödenmiş sipariş |
Eksik satın alımlar iki tür zarar verir. Reklam platformu daha az dönüşüme göre optimize eder ve raporlarınız gerçekte elde ettiğinizden daha düşük bir getiri gösterir. İkinci etkiyi, başabaş ROAS'ı 2.2 olan örnek bir mağaza için rakamlarla görelim:
| Örnek mağaza, bir ay | Yalnızca piksel | Ödenmiş her sipariş |
|---|---|---|
| Meta reklam harcaması | $8,000 | $8,000 |
| Meta tıklamalarından satın alımlar | 260 | 320 |
| Sipariş başına $60 ile gelir | $15,600 | $19,200 |
| ROAS | 15,600 ÷ 8,000 = 1.95 | 19,200 ÷ 8,000 = 2.40 |
| Başabaşa karşı (2.2) | Zarar gibi görünür | Kârlı |
WooCommerce'in size sunduğu şeyler: siparişler, webhook'lar ve REST API
Hangi sipariş durumları ödenmiş sayılır?
WooCommerce, processing durumunu ödemenin alındığı ve siparişin gönderilmeyi beklediği durum olarak tanımlar. ROASaurus, durumu processing veya completed olan siparişleri gönderir; pending payment, on hold, failed, cancelled ve refunded durumundaki siparişleri atlar. İki ödeme yöntemi dikkat gerektirir:
- Kapıda ödeme. WooCommerce bu siparişleri ödeme tahsil edilene kadar processing durumunda tutar; bu yüzden ROASaurus onları verildikleri anda gönderir. İndirilebilir ürün içeren siparişler bunun istisnasıdır: onlar on hold olur. Bunun iadeler ve reddedilen teslimatlar için ne anlama geldiğini kapıda ödemeli siparişlerin takibi yazısında okuyun.
- Banka havalesi. WooCommerce, siz ödemeyi doğrulayana kadar bu siparişleri on hold durumuna alır. ROASaurus onları siz processing durumuna taşıdığınızda gönderir.
Webhook'lar
Webhook, bir şey değiştiğinde WooCommerce'in başka bir sisteme gönderdiği bir mesajdır. Onu WooCommerce › Settings › Advanced › Webhooks altında oluşturursunuz. Bir sipariş konusu için payload, REST API'nin döndürdüğü sipariş nesnesinin aynısıdır. Her gönderim bir X-WC-Webhook-Signature başlığı taşır: seçtiğiniz gizli anahtarla oluşturulmuş, payload'un base64 HMAC-SHA256 hash'i. ROASaurus bir siparişi kabul etmeden önce bu imzayı doğrular.
Pratikte iki ayrıntı önemlidir. WooCommerce webhook'ları arka planda, varsayılan olarak WP-Cron ile iletir; bu yüzden kuyruk geç işlediğinde bir gönderim gecikebilir. Ayrıca WooCommerce, üst üste beş başarısız gönderimden sonra bir webhook'u devre dışı bırakır.
REST API
REST API, ROASaurus'un siparişleri kendisinin istemesine olanak tanır. Salt okunur bir API anahtarıyla ROASaurus, her 5 dakikada bir son kontrolünden bu yana değişen processing ve completed siparişleri 30 dakikalık bir çakışmayla ister. Zaten sahip olduğu siparişler yok sayılır. Bu, bir webhook'un kaçırdığı her siparişi yakalar.
| Sipariş alanı | ROASaurus onunla ne yapar |
|---|---|
id | order-1042 olay kimliği olur; sunucu ve tarayıcı olayları tarafından paylaşılır |
total | Satın alım değeri: vergi ve kargo dahil genel toplam |
| Fatura e-postası, telefon, ad, şehir, eyalet, posta kodu, ülke | SHA-256 ile hash'lenir ve müşteri verisi olarak gönderilir |
customer_ip_address, customer_user_agent | Olayla birlikte gönderilir ve siparişi bir ziyaretçiyle eşleştirmek için kullanılır |
line_items | Ürün kimlikleri (varsa varyasyon kimliği), adetler ve fiyatlar |
date_paid_gmt | Webhook veya REST API'den gelen siparişler için olay zamanı (ödeme tarihi yoksa oluşturulma tarihi) |
meta_data | Eklentiyle: ziyaretçi kimliği ve Meta ile TikTok çerezleri |
Eklenti veya webhook'lar: bağlanmanın iki yolu
İki bağlantı da ödenmiş her siparişi gönderir. Farkları, her siparişin alışveriş yapanı getiren reklam tıklamasına ne kadar iyi bağlandığındadır.
| ROASaurus eklentisi | Yalnızca webhook'lar | |
|---|---|---|
| Ne kurarsınız | Bir WordPress eklentisi (PHP 7.4 ve WooCommerce 6.0 veya daha yenisi) | Hiçbir şey: WooCommerce ayarlarında bir webhook |
| Siparişler nasıl gelir | Eklenti her ödenmiş siparişi ROASaurus sipariş API'sine gönderir | WooCommerce Order updated gönderir; isteğe bağlı olarak her 5 dakikada bir REST API kontrolü |
| Takip betiği | Eklenti tarafından her sayfada yüklenir | Siz eklersiniz, örneğin WPCode eklentisiyle veya temanızda |
| Siparişte ziyaretçi kimliği ve tıklama çerezleri | Evet, ödeme sırasında kaydedilir (klasik ve blok ödeme sayfası) | Hayır |
| Teşekkür sayfasında tarayıcı satın alımı | Evet, sunucu olayıyla aynı olay kimliğiyle | Hayır |
| Teşekkür sayfası eşleştirmesi | Evet | Hayır |
İkisini aynı anda kullanabilirsiniz. Eklenti ziyaretçi kimliğini siparişe sipariş meta verisi olarak kaydeder ve webhook payload'u onu birlikte taşır. ROASaurus her siparişi WooCommerce sipariş kimliğiyle bir kez saklar; bu yüzden eklenti ve webhook hiçbir zaman iki satın alım oluşturmaz. Eklenti ayrıca WooCommerce'in High-Performance Order Storage özelliğini desteklediğini bildirir.
Bir WooCommerce siparişi reklam tıklamasıyla nasıl eşleştirilir?
Bir reklam platformu, bir satın alımı ancak ikisini birbirine bağlayabildiğinde bir reklama atfedebilir. ROASaurus bunu, siparişi reklama tıklayan ziyaretçiye bağlayarak yapar; bu ziyaretçi açılıştan gelen tıklama kimliklerini (fbclid ve ttclid gibi) ve UTM parametrelerini taşır. Bu yöntemleri sırayla dener ve işe yarayan ilkinde durur:
- Siparişe kaydedilmiş ziyaretçi kimliği. Yalnızca eklentiyle. Bu kesin bir bağdır.
- Teşekkür sayfasındaki tarayıcı satın alımı; aynı sipariş kimliğini taşır. Yalnızca eklentiyle.
- Ziyaretçinin sitenizde daha önce verdiği hash'lenmiş e-posta, örneğin bir Klaviyo, Attentive veya Wisepops açılır pencere formunda ya da bir Identify çağrısıyla.
- Aynı IP adresi ve tarayıcı, siparişten 3 saat öncesinden 15 dakika sonrasına kadar görülmüş olmalıdır ve yalnızca tam olarak bir ziyaretçi uyduğunda geçerlidir. Ofisler ve mobil operatörler gibi paylaşılan ağlarda birkaç ziyaretçi çoğu zaman aynı IP adresini paylaşır ve bu durumda ROASaurus tahmin yürütmez.
ROASaurus her satın alımı göndermeden önce kısa süre bekler; böylece teşekkür sayfası olayı önce gelebilir. Sipariş hâlâ eşleşmemişse gönderim anında yeniden dener. Orders sayfası sonucu sipariş başına Matched by sütununda gösterir. Eklentinin ziyaretçi kimliğiyle bağlanan siparişlerde cart görünür; Shopify siparişlerinin aldığı etiketin aynısıdır.
| 1042 numaralı sipariş için Meta'ya gönderilen | Eşleşti (eklenti) | Eşleşmedi (yalnızca webhook'lar) |
|---|---|---|
Olay kimliği order-1042 | Evet | Evet |
| Hash'lenmiş e-posta, telefon, ad ve adres | Evet | Evet |
| Siparişin IP adresi ve tarayıcısı | Evet | Evet |
Meta tıklama kimliği ve tarayıcı kimliği (fbc, fbp) | Evet | Hayır |
Hash'lenmiş ziyaretçi kimliği (external_id) | Evet | Hayır |
| ROASaurus atfındaki reklam tıklaması | Tıklamanın kampanyası ve reklamı | Doğrudan veya bilinmeyen olarak gösterilir |
Bu tıklama tanımlayıcıları, olay için Meta'nın eşleşme oranını yükseltir. Event Match Quality, Meta'nın bunları nasıl puanladığını açıklar.
WooCommerce'te rıza
ROASaurus'taki her mağazanın varsayılan olarak açık olan Respect visitor consent ayarı vardır. WooCommerce'te ROASaurus betiği ziyaretçinin tercihini, Complianz ve CookieYes gibi rıza eklentilerinin doldurduğu WP Consent API'sinden okur. Ayrıca Cookiebot, OneTrust, IAB TCF bildirimlerini ve Google consent mode'u da okur. Ziyaretçi pazarlama çerezlerini kabul edene kadar betik ziyaretçi kimliği ayarlamaz ve hiçbir tarayıcı pikseli yüklemez.
Bir ziyaretçi reddettiğinde betik ziyaretçi kimliği ayarlamaz, tıklama kimliklerini tutmaz ve hiçbir tarayıcı pikseli tetiklemez; eklenti de siparişe takip çerezi kaydetmez. Ödenmiş sipariş yine de sunucudan, siparişteki hash'lenmiş müşteri verisi ile siparişin IP adresi ve tarayıcısıyla birlikte bağlı reklam platformlarınıza gönderilir. Hukuki danışmanlığınız satın alım olayları için de önceden rıza gerektiğini söylüyorsa, sunucu tarafı satın alımları açmadan önce ROASaurus ile iletişime geçin. Ayrıntılar rıza yardım sayfasında yer alır, hukuki arka planı ise Consent Mode v2 ve GDPR yazısı ele alır.
WooCommerce sunucu tarafı takip nasıl kurulur
Eklenti yolu için adımlar şunlardır:
- Mağazayı ekleyin
ROASaurus'ta Add a store bölümüne gidin, WooCommerce'i seçin ve müşterilerinizin ziyaret ettiği alan adını girin.
- Bir API anahtarı oluşturun
Store settings bölümünü açın ve Orders API altında Create API key'e tıklayın. Anahtarı hemen kopyalayın: yalnızca bir kez gösterilir ve mağaza anahtarınızın yanında yer alır. Uç nokta, o sayfada
/api/v1/ordersöncesindeki adrestir. - Eklentiyi kurun
Eklentiyi indirin ve zip dosyasını WordPress'te Plugins › Add New Plugin › Upload Plugin altından yükleyin. Ardından etkinleştirin.
- Anahtarları girin
WooCommerce › ROASaurus altında uç noktayı, mağaza anahtarını ve API anahtarını girin ve kaydedin.
- Reklam platformlarınızı bağlayın
Tracking & platforms bölümünde Meta, TikTok ve diğerleri için Connect with Facebook veya Add pixel seçeneğini kullanın. Teşekkür sayfasındaki satın alımın sunucu olayıyla mükerrer kayıt olmaması için tarayıcı pikselini de yükleme seçeneğini işaretleyin.
- Rızayı ayarlayın ve test edin
Ziyaretçi pazarlama çerezlerini kabul edene kadar betiği rıza aracınızda engelleyin, ardından bir test siparişi verin.
Eklenti olmadan Tracking & platforms bölümündeki betik etiketini her sayfaya ekleyin, ardından webhook'u oluşturun. Mağazanızın Connection sekmesi webhook URL'nizi gösterir. Gizli tutun: URL'ye sahip olan herkes mağazanıza sipariş gönderebilir.
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
Yedek için WooCommerce › Settings › Advanced › REST API altında okuma erişimli bir anahtar oluşturun. Consumer key ve secret değerlerini Connection sekmesine yapıştırın, kaydedin ve Test connection'a basın. Fetch orders now son ödenmiş siparişleri hemen çeker. WooCommerce entegrasyon sayfası tüm seçenekleri tek bir yerde listeler.
WooCommerce sunucu tarafı takip nasıl test edilir?
Önce tarayıcı tarafını test edin, ardından bir sipariş verin ve onu reklam platformlarına kadar izleyin.
- Mağazanızı adreste
?roasaurus=connectedile açın. Bir uyarı, betiğin çalıştığını doğrular.?roasaurus=debugile betik, gönderdiklerini tarayıcı konsoluna kaydeder. - Event log içinde, Collected events altında sayfa görüntülemeleri bir ziyaretçi kimliği göstermelidir.
- Bir test siparişi verin. Kapıda ödeme en hızlısıdır, çünkü sipariş hemen processing durumuna geçer.
- Connection sekmesinde Last order received, en son siparişin zamanını gösterir.
- Event log içinde Server deliveries altında, bağlı her platform için sent durumunu ve platformun yanıtını içeren bir satır bulunur.
PageView visitor 3f9c2a1eBetik rızayla yüklendiPurchase order-1042Teşekkür sayfası, tarayıcı pikselleri tetiklendiorder 1042 processingEklentiden alındıMeta Purchase sentAynı olay kimliği, mükerrer kayıtsızTikTok CompletePayment sentAynı olay kimliği, mükerrer kayıtsızOlayı Meta'da görmek için Events Manager › Test events içindeki kodu, ROASaurus'taki Meta pikselinizin Test event code alanına yapıştırın. İşiniz bitince kaldırın, çünkü kod yalnızca test içindir. Eklenti bir siparişi iletemezse WooCommerce'te "ROASaurus: order not sent" ile başlayan ve ardından hatanın yazıldığı bir sipariş notu ekler.
Kaçınılması gereken hatalar
- Order created konusunu kullanmak. Yönlendirmeyle ödenen siparişler pending payment olarak oluşturulur. ROASaurus ödenmemiş siparişleri yok sayar ve ödeme geldiğinde ikinci bir "created" mesajı gelmez. Order updated kullanın.
- Eşleşmeyen bir gizli anahtar. ROASaurus, imzası elindeki gizli anahtarla eşleşmeyen bir gönderimi reddeder. Üst üste beşten fazla başarısızlıktan sonra WooCommerce webhook'u devre dışı bırakır. Gizli anahtarı düzeltin, webhook'u yeniden Active yapın ve REST API anahtarını ekleyin; böylece bu aralıktaki siparişler çekilir.
- Aynı pikseli gönderen iki araç. Başka bir eklenti de Meta veya TikTok pikselinizi gönderiyorsa kendi olay kimliklerini kullanır ve platform her satışı iki kez sayar. O piksel için onu kapatın. çift saymayı önleme ve mükerrer satın alım olayları yazılarına bakın.
- Sepete ekleme olayları beklemek. WooCommerce'te betik yalnızca sayfa görüntülemelerini kendisi takip eder. Ürün görüntülemeleri ve sepete eklemeler yalnızca Shopify'da otomatik olarak algılanır. Bir geliştirici bunları bir
tlqtrack çağrısıyla gönderebilir. - Google Ads dönüşümleri beklemek. ROASaurus Google Ads satın alma dönüşümlerini yalnızca Shopify ödeme sayfasından gönderir. WooCommerce'ten satın alımları Meta, TikTok, Snapchat, Pinterest, Reddit, X, Microsoft Ads, Taboola, LinkedIn ve bağladığınız diğer reklam platformlarına gönderir.
- Geç gelen banka havaleleri. Meta, sunucu olaylarını olay zamanından sonraki 7 güne kadar kabul eder. Eklenti siparişi oluşturulma tarihiyle gönderir; bu yüzden Meta, siparişten 7 günden uzun süre sonra onaylanan bir havaleyi reddeder. Webhook veya REST API ile gelen siparişler bunun yerine ödeme tarihini kullanır. Ayrıca teşekkür sayfasının tarayıcı satın alımını ödeme sırasında, havale ödenmeden önce tetiklediğini unutmayın. Ödeme 48 saatten sonra onaylanırsa Meta ve TikTok tarayıcı ile sunucu kopyalarını birleştiremez ve hiç ödenmeyen bir havale tarayıcı satın alımını korur.
Siparişler akmaya başladığında atıf raporları, bunların hangi kampanyalardan ve reklamlardan geldiğini gösterir.
Kaynaklar
- WooCommerce: Webhooks Documentation
- WooCommerce REST API Documentation - WP REST API v3
- WooCommerce: Order Statuses Documentation
- WooCommerce: Cash on Delivery Documentation
- Meta for Developers: Server Event Parameters