You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.en.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,7 @@ This skill helps Codex set up and customize a local data pipeline for ecommerce
16
16
- Weekly comparison report generator with current week vs previous week.
17
17
- Operator-ready weekly report modules: business conclusions, revenue bridge, funnel health, Google Ads budget actions, page actions, SEO intent clusters, anomaly alerts, next-week owners, and data health checks.
18
18
- Weekly funnel comparisons use dated GA4 add-to-cart and checkout events instead of a 90-day proxy total.
19
+
- Purchase-integrity health compares aligned Shopify orders/revenue with GA4 purchases/revenue, escalates count gaps to transaction-level BigQuery reconciliation, and never auto-sends recovery events.
Copy file name to clipboardExpand all lines: dtc-growth-data-report/SKILL.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -72,6 +72,9 @@ When customizing reports:
72
72
73
73
- Use Shopify as the default source of truth for revenue and orders.
74
74
- Use GA4 for sessions, engagement, landing page behavior, and funnel events.
75
+
- Compare aligned-period Shopify orders/revenue with GA4 `ecommercePurchases`/`totalRevenue` as a purchase-integrity health signal. Persist the count gap, revenue gap, and tracking rate in weekly JSON and show the result in data health.
76
+
- Treat an aggregate gap as an alert, not proof of a specific missing order. Require BigQuery `transaction_id` versus Shopify paid-order reconciliation before naming affected orders or handing recovery to `$ga4-data-analysis`.
77
+
- Keep this reporting skill read-only. Never send Measurement Protocol events or repair tracking automatically.
75
78
- Fetch GA4 `add_to_cart` and `begin_checkout` with the `date` dimension so weekly funnel stages use the same current and previous periods as the rest of the report.
76
79
- Use Google Ads for spend, clicks, conversions, conversion value, ROAS, CPA, search terms, and ad landing URLs.
77
80
- Use campaign-level daily Google Ads facts for totals and weekly campaign decisions so Performance Max is included; keep ad-group data only for compatible campaign detail.
@@ -96,6 +99,7 @@ Before final handoff:
96
99
- Confirm HTML/Markdown reports exist and are non-empty.
97
100
- Confirm conversion rates and CTR are percentages, not decimals.
98
101
- Confirm GA4 funnel rows compare dated `add_to_cart` and `begin_checkout` values for the current and previous aligned weeks.
102
+
- Confirm the report compares Shopify orders with GA4 `ecommercePurchases`, leads with the risk when counts differ, and explicitly requires transaction-level reconciliation before recovery.
99
103
- Confirm Google Ads cost is in account currency units, not micros.
100
104
- Confirm campaign-level Google Ads coverage includes Performance Max and that account totals are not derived only from `ad_group` rows.
101
105
- Confirm sitewide ROI equals Shopify revenue divided by Google Ads spend, and GSC clicks appear in the core KPI table.
Copy file name to clipboardExpand all lines: dtc-growth-data-report/references/data-contract.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,6 +57,8 @@ The transform step should produce:
57
57
- SEO impressions, clicks, CTR, average position: GSC.
58
58
- Store conversion rate: Shopify orders divided by GA4 sessions.
59
59
- Sitewide ROI: Shopify revenue divided by total Google Ads cost for the same aligned period.
60
+
- Purchase tracking rate: GA4 `ecommercePurchases` divided by Shopify orders for the same aligned period. When both are zero, report 100% coverage rather than a divide-by-zero error.
61
+
- Purchase count gap: Shopify orders minus GA4 `ecommercePurchases`. Purchase revenue gap: Shopify revenue minus GA4 `totalRevenue`. These aggregate fields are health signals only; exact missing orders require Shopify paid-order IDs versus BigQuery `transaction_id` reconciliation.
60
62
- Add-to-cart rate: GA4 `add_to_cart` events divided by GA4 sessions for the same report period.
61
63
- Cart-to-checkout rate: GA4 `begin_checkout` events divided by GA4 `add_to_cart` events for the same report period.
62
64
- ROAS: Google Ads conversion value divided by Google Ads cost.
Copy file name to clipboardExpand all lines: dtc-growth-data-report/references/report-workflows.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,6 +26,7 @@ Required sections:
26
26
- Top KPI cards: Shopify revenue, orders, store conversion rate, sitewide ROI (`Shopify revenue / Google Ads spend`), and Google Ads ROAS.
27
27
- Revenue bridge: split revenue movement into traffic, conversion rate, and AOV effects.
28
28
- Funnel health: show GA4 Sessions, dated `add_to_cart`, dated `begin_checkout`, Shopify purchases, and ad click-to-conversion efficiency. Compare GA4 funnel events for the current and previous aligned weeks; do not substitute a 90-day event total when dated data is available.
29
+
- Data health: compare Shopify orders/revenue with GA4 `ecommercePurchases`/`totalRevenue` for the same aligned week. Put a count gap in the Executive Summary and P0 actions, but do not identify or repair orders until BigQuery `transaction_id` reconciliation confirms them. Hand authorized recovery to `$ga4-data-analysis`; this report remains read-only.
29
30
- Daily Google Ads spend and weekly spend total
30
31
- Core KPI table: current week, previous week, and change, including GSC clicks alongside impressions and CTR.
0 commit comments