About Oxygen Concentrator Depot
Oxygen Concentrator Depot is an online store selling portable oxygen concentrators and home oxygen support products, built on Shopify with a Debutify theme and offering free shipping on all orders.
Project overview
The store sells high-consideration health equipment, so the client needed Meta and Google Ads to see every step from product list views through checkout and purchase, while respecting visitor consent choices.
I implemented the Meta Pixel and Conversions API side by side, routed events through a server-side GTM container on Stape, added GA4 ecommerce and Google Ads conversion and remarketing tags, and placed everything behind a Cookiebot consent banner with Google Consent Mode.
Goals
- Track PageView, ViewItemList, ViewContent, InitiateCheckout and Purchase in Meta
- Send each Meta event from both the browser Pixel and the Conversions API with deduplication
- Record GA4 ecommerce and Shopify checkout steps, including contact and address info
- Set up Google Ads Purchase and Begin Checkout conversions plus remarketing audiences
- Respect visitor consent with a Cookiebot banner and Google Consent Mode
Challenges
- Shopify checkout steps that need their own events for contact and address submission
- Browser-only Pixel events exposed to ad blockers and privacy features
- Running Meta, GA4 and Google Ads tags without ignoring consent choices
- Keeping one consistent event stream across three ad and analytics platforms
Strategy
I paired every browser Meta Pixel tag with a "Fb Server" GA4 event tag that feeds a server-side GTM container on Stape. In the server container, the GA4 client claims each request and passes it to a Conversions API tag, a GA4 ecommerce tag and server-side Google Ads conversion, remarketing and user-provided data tags. Cookiebot CMP loads first on consent initialization so Google Consent Mode governs what fires.
What I implemented
Web GTM container
- Meta Pixel tags: Fb - Browser PageView, View Item List, ViewContent, Checkout and Purchase
- Matching Fb Server GA4 event tags for the same five events
- GA4 Config Tag plus GA4 Address Info Submit and Contact Info Submit events
- Google Ads conversion tags for Purchase and Checkout, remarketing tags and a user-provided data event
- Cookiebot CMP on Consent Initialization with a Conversion Linker on all pages
Server-side GTM on Stape
- Fb Conversions API Tag triggered by incoming Fb and GA4 events
- Google Analytics GA4 - Ecommerce Tracking tag
- Google Ads conversion tags for Checkout and purchase, remarketing for view_item, view_item_list, search, checkout and purchase
- Google Ads User-provided Data Event on purchase
- Stape container on the free plan with the server in US Center (Iowa)
Consent & Google Ads
- Cookiebot banner with Necessary, Preferences, Statistics and Marketing categories
- Google Consent Mode, Advertiser Consent Mode and URL passthrough enabled, with dynamic ads data redaction
- Purchase (Primary) and Begin Checkout (Secondary) conversion actions, both with a 90-day click-through window
Testing & validation
- Web GTM preview run through a full test purchase
- Server GTM preview checked for outgoing requests to GA4, Google Ads and Meta's Graph API
- GA4 realtime checked for view_item, checkout info and purchase events
- Meta test events checked for deduplicated browser and server pairs and purchase parameters
Tools used
Results
- Every Meta, GA4, Google Ads and Cookiebot tag fired during the web GTM test purchase
- Server GTM preview showed the purchase request claimed by the GA4 client, with POST 200 responses from Google Ads and Meta's Graph API
- PageView, ViewItemList, View content, Initiate checkout and Purchase received from browser and server in Meta, with one copy deduplicated
- Server Purchase events carried order ID, content IDs and external ID, IP address and user agent user data
- GA4 realtime recorded purchase as a key event alongside view_item, contact_info_submitted and address_info_submitted
- Stape container running with 1,103 of 10,000 monthly requests used