About Dhaka Shop
Dhaka Shop is an online store based in Bangladesh, running on WordPress and WooCommerce with a standard checkout and order-received flow, and taking customer contact through WhatsApp and phone as well as online orders.
Project overview
Dhaka Shop needed the Meta Pixel and Conversions API to cover the whole shopping journey, not just the purchase, so that product list views, cart changes, checkout steps and payment info all reach Meta reliably alongside GA4.
I built paired browser and server tags for nine funnel events in the web GTM container, sent the server copies through a server-side GTM container to the Conversions API and GA4, and checked every step in GTM preview, GA4 DebugView and Meta Events Manager test events.
Goals
- Track PageView, ViewItemList, ViewContent, AddToCart, RemoveFromCart, ViewCart, Checkout, AddPaymentInfo and Purchase in Meta
- Send each event from both the browser Pixel and the Conversions API
- Get Facebook Pixel deduplication working for every paired event
- Feed GA4 eCommerce from the same server-side stream
- Capture WhatsApp and phone call clicks as engagement events
Challenges
- Browser-only Pixel events exposed to ad blockers and privacy features
- A long funnel with cart, checkout and payment steps that each needed a matching server event
- Keeping one consistent event stream for Meta and GA4
- Contact-driven shoppers reaching out by WhatsApp or phone instead of checking out
Strategy
I paired every browser Meta Pixel tag with a "Fb Server" GA4 event tag that sends the same interaction to a server-side GTM container. In the server container, a Conversions API tag and a GA4 ecommerce tag both fire from the incoming GA4 client, so one server stream feeds Meta and Analytics, and Meta deduplicates the browser and server copies of each event.
What I implemented
Web GTM container
- Meta Pixel tags: Fb - Browser PageView, ViewItemList, ViewContent, AddToCart, RemoveFromCart, ViewCart, Checkout, Add Payment Info and Purchase
- Fb Server GA4 event tags for the same nine events plus a server config tag
- Triggers for view item list, view item, add and remove from cart, view cart, checkout, add payment info and purchase
- WooCommerce data layer events from GTM4WP, including add_shipping_info and add_payment_info
Server-side GTM
- Fb Conversions API Tag fired from the Google Analytics GA4 client
- Google Analytics GA4 - Ecommerce Tracking tag on the same GA4 client trigger
- Server events reach Meta as Manual Setup, alongside the browser Pixel events
GA4 eCommerce
- page_view, begin_checkout, add_payment_info and purchase events
- WhatsApp_Click and Phone_Call engagement events recorded in GA4
- user_data passed as a user property for matching
Testing & validation
- Web GTM preview run through a full test order to the order-received page
- Server GTM preview checked on purchase, checkout, cart and page view requests
- GA4 DebugView checked event by event
- Meta test events checked for deduplicated browser and server pairs
Tools used
Results
- All 19 browser Pixel and Fb Server tags fired during a test purchase in web GTM preview
- Server GTM preview showed the Conversions API and GA4 ecommerce tags firing on purchase
- PageView, ViewItemList, View content, ViewCart, Add to cart, RemoveFromCart and Initiate checkout received from browser and server in Meta, with the server copy deduplicated
- GA4 DebugView recorded purchase together with page_view and the user_data property
- WhatsApp_Click and Phone_Call events appeared in GA4 alongside begin_checkout