Dev checklist
Tick this off before telling the agency you're ready for staging.
π§ Technical setupβ
- GTM snippet injected in
<head>+<body>(provided by agency) - CMP installed (if applicable) β loaded BEFORE GTM
- CNAMEs
load.analytics.biosphereskincare.com+analytics.biosphereskincare.comcreated, SSL OK - CSP updated (if applicable) to allow Stape subdomains
π Global helpersβ
-
pushEcommerce(eventName, ecommerce, userData)available -
buildUserData(customer)normalizes and shapesuser_data -
{ ecommerce: null }pushed before every ecommerce event
π¦ Data formattingβ
-
price,value,tax,shippingas numbers (not strings) -
quantityas integer -
currencyin ISO 4217 uppercase ('EUR') - Units, not cents:
42.00not4200 -
item_ididentical to Meta Catalog feed
π΄ Phase 1 β Core funnel (mandatory)β
| Event | Implemented | Tested |
|---|---|---|
view_item_list | β¬ | β¬ |
select_item | β¬ | β¬ |
view_item | β¬ | β¬ |
add_to_cart | β¬ | β¬ |
view_cart | β¬ | β¬ |
remove_from_cart | β¬ | β¬ |
begin_checkout | β¬ | β¬ |
add_shipping_info | β¬ | β¬ |
add_payment_info | β¬ | β¬ |
purchase β | β¬ | β¬ |
π‘ Phase 2 β Acquisitionβ
| Event | Implemented | Tested |
|---|---|---|
sign_up | β¬ | β¬ |
generate_lead | β¬ | β¬ |
search | β¬ | β¬ |
π£ Phase 3 β Optionalβ
| Event | Implemented | Tested |
|---|---|---|
refund | β¬ | β¬ |
view_promotion / select_promotion | β¬ | β¬ |
page_view (SPA only) | β¬ | β¬ |
πͺͺ user_dataβ
-
purchaseincludes fulluser_data(email, phone, name, address, external_id) -
sign_up/generate_leadinclude minimumuser_data(email) -
begin_checkout/add_shipping_info/add_payment_infoincludeuser_datawhen user is identified - Values in plain text (not hashed)
- Normalized: lowercase trimmed email, digits-only phone, ISO alpha-2 country
π Purchase (critical)β
-
transaction_idunique per order (= DB order number) - Push after DB commit
- Idempotent: refresh / back button doesn't re-push
-
value= merchandise (excl. shipping/tax);taxandshippingseparate - All cart items included
- Complete
user_data
π Meta Catalogβ
- Product feed exposed over HTTPS (stable URL)
- Format: Google/Meta XML or CSV
- Required fields:
id,title,description,availability,condition,price,link,image_link,brand - Feed
id= dataLayeritem_id(absolute consistency) - Real-time or hourly cron refresh
π§ͺ Testingβ
- All test scenarios pass
- Meta
PurchaseEMQ β₯ 8/10 - Pixel/CAPI dedup 100%
- GA4 DebugView receives every event
- GAds conversions fire
π‘ Before Go Liveβ
- Staging signed off by agency
- GTM snippet also deployed to production
- Production CNAMEs = staging CNAMEs (same subdomains)
- PostβGo Live monitoring window: 14 days (EMQ, conversions, revenue)