Test scenarios (cross-team QA)
Run these in staging with GTM Preview Mode active, before going live.
0. Prepโ
- GTM snippet present in
<head>+<body>on staging. - CNAMEs
load.analyticsandanalyticsactive and SSL OK. - Tag Assistant + Meta Pixel Helper installed.
๐ด Phase 1 โ Core funnel (mandatory)โ
S1. Product list (PLP)โ
Action: visit a category page or search results.
Verify:
-
view_item_listwithitem_list_id, items withindex.
S2. Click product in PLPโ
Action: click a product card.
Verify:
-
select_itempushed before navigation, only the clicked item,indexmatches PLP.
S3. Product detail pageโ
Action: visit a PDP.
Verify:
-
view_itemindataLayerwithcurrency,value, items[0] with required fields. - Meta Pixel Helper:
ViewContentwithcontent_ids,content_type: 'product',value,currency. - Events Manager โ Test Events:
ViewContentarrives via Pixel AND CAPI, deduped.
S4. Add to cartโ
Action: click "Add to cart" with qty=2.
Verify:
-
add_to_cartpushed after API response (not before). -
quantity: 2,value = price ร 2. - Meta:
AddToCartPixel + CAPI deduped.
S5. Cart pageโ
Action: visit /cart.
Verify:
-
view_cartonce,valueconsistent with UI.
S6. Increase quantity in cartโ
Action: bump quantity from 2 to 3.
Verify:
-
add_to_cartwithquantity: 1(delta), notquantity: 3.
S7. Remove from cartโ
Action: remove an item.
Verify:
-
remove_from_cartwith delta quantity and removed value.
S8. Start checkoutโ
Action: click "Checkout" from the cart.
Verify:
-
begin_checkoutpushed. -
couponpresent if applied. - Meta:
InitiateCheckoutPixel + CAPI.
S9. Shipping submittedโ
Action: fill + validate shipping.
Verify:
-
add_shipping_infowithshipping_tierand populateduser_data.
S10. Payment submittedโ
Action: enter CC details and validate.
Verify:
-
add_payment_infowithpayment_type. MetaAddPaymentInfoPixel + CAPI.
S11. Order confirmed โญโ
Action: complete an order, arrive on /order/success.
Verify (the most critical):
-
purchaseindataLayerwith:- Unique
transaction_idmatching DB currency,value,tax,shipping- All items, with
item_idmatching catalog - Complete
user_data(email, phone, name, address)
- Unique
- Refresh the page โ NO new
purchasepush (idempotency) - Meta Events Manager:
PurchasePixel + CAPI deduped, EMQ โฅ 8 - GA4 DebugView:
purchasereceived with correctvalue - Google Ads: conversion fires (Ads โ Conversions โ Diagnostics)
S12. Purchase idempotencyโ
Action: refresh, F5, back button, open in new tab.
Verify:
- No new
purchasepush. - No double-count in Meta / GA4.
๐ก Phase 2 โ Acquisitionโ
S13. Sign upโ
-
sign_uppushed after DB confirmation. MetaCompleteRegistration.
S14. Lead form / newsletterโ
-
generate_leadwithuser_data.email. MetaLead.
S15. On-site searchโ
-
searchwithsearch_term. If results page:view_item_listwithitem_list_id: 'search_results'.
๐ฃ Phase 3 โ Optionalโ
S16. Refundโ
-
refundwithtransaction_idmatching the originalpurchase. GA4 shows negative revenue.
S17. Promo bannerโ
-
view_promotiononce per visible banner (fired via Intersection Observer at โฅ 50% visible). -
select_promotionon click.
Go Live criteriaโ
- All Phase 1 scenarios pass.
- Meta EMQ for
Purchaseโฅ 8/10 (over 10+ test orders). - Pixel/CAPI dedup at 100% across all events.
- GA4 DebugView receives every event.
- Google Ads conversions fire correctly.
- No duplicate events in
dataLayer. - CSP allows Stape subdomains.
- CMP / Consent Mode validated.