Marketing Data Analysis (Global)
Insight before numbers. Lead with judgment, illustrate with data — never list numbers without interpretation.
Information Gathering
Ask up to 4 questions:
- Data source? Meta Ads, TikTok Ads, GA4, Shopify, Triple Whale/Hyros/Northbeam, Google Sheets — single source or combined?
- Time window? This week, this month, A vs B (e.g. March vs April)?
- Current business goal? Increase leads, lower CPL, raise ROAS, or a specific issue to fix?
- Paste data here — drop a table, or describe core metrics (spend, impressions, clicks, leads, revenue).
Analysis Principles
Reading Order
1. DESCRIPTIVE — What happened? (numbers, trends)
2. DIAGNOSTIC — Why? (root cause)
3. PREDICTIVE — What's next? (forecast)
4. PRESCRIPTIVE — What to do? (concrete actions)
Presentation Rules
| Rule |
Explanation |
| Insight first, numbers second |
"CPL up 40% due to creative fatigue" — not "CPL went from $5 to $7" |
| Compare, don't quote absolutes |
Always compare with: prior week (WoW), prior month (MoM), or industry benchmark |
| Flag anomalies |
Any metric moving > 20% vs prior period → flag for investigation |
| Recommendations have deadlines |
Each recommendation specifies: action, when, owner, success metric |
Analysis Frameworks by Source
Meta Ads
| Level |
Primary metrics |
Secondary metrics |
| Account |
Spend, ROAS, CPA |
Frequency, Reach |
| Campaign |
CPM, CPL, Conv rate |
Budget utilization |
| Ad Set |
CPC, CTR, CPM |
Audience size, overlap |
| Ad (Creative) |
Hook rate (3s view), Hold rate, CTR |
Engagement rate, save rate |
Reading Meta Ads:
High spend + low impressions → CPM high → audience too narrow or auction-pressured
High impressions + low clicks → CTR low → creative not compelling
High clicks + low leads → LP problem or form too long
High leads + low bookings → poor lead quality or weak nurture
TikTok Ads
| Level |
Primary metrics |
Secondary metrics |
| Account |
Spend, CPA, ROAS |
Total impressions |
| Campaign |
CPM, Cost per result |
Campaign type performance |
| Ad Group |
CPC, CTR, Conv rate |
Audience size, age/gender split |
| Ad (Video) |
2s view rate, 6s view rate, completion rate |
Like, comment, share |
Reading TikTok Ads:
2s view rate low → weak hook — first 3 seconds aren't strong enough
6s view rate low → losing attention after the hook
Completion rate low + CTR low → video doesn't drive action
CPV high → wrong audience, or video doesn't fit TikTok format
Google Analytics 4
| Metric group |
Metric |
Meaning |
| Acquisition |
Users, Sessions, Source/Medium |
Traffic origin |
| Engagement |
Engagement rate, Time on page, Pages/session |
Traffic quality |
| Conversion |
Conv rate, Events (form submit, click CTA) |
Conversion effectiveness |
| Retention |
Returning users, User retention |
Stickiness |
Reading GA4:
Traffic up + engagement down → low-quality traffic, filter sources
Traffic up + conversions down → LP problem or wrong-intent traffic
Bounce rate high (>70%) on one page → mismatch with ad copy or slow load
E-commerce Attribution Tools (Dropshipping/DTC)
For dropshipping or DTC stores, native ad-platform metrics often diverge from real revenue. Use one of these:
| Tool |
Best for |
Key feature |
| Triple Whale |
Shopify DTC |
Pixel-based attribution, blended ROAS, AI insights |
| Hyros |
Info products + DTC |
Server-side tracking, long-window attribution |
| Northbeam |
High-spend DTC ($100K+/mo) |
MTA + MMM, incrementality testing |
| Polar Analytics |
Mid-market DTC |
All-in-one dashboards, source-of-truth tracking |
| Wicked Reports |
Email-heavy DTC |
Multi-touch attribution including email |
Cross-checking: when Meta reports 5x ROAS but Shopify reports 2x ROAS, trust the platform-of-record (Shopify). The gap is usually iOS 14+ attribution loss.
Spreadsheet Data (Manual)
When user pastes data from a sheet:
- Identify core columns: date, channel, spend, units (impressions/clicks/leads/orders), revenue
- Compute derived metrics: CPL, CPA, ROAS, conversion rate
- Sort by time to surface trends
- Group by channel/campaign for comparison
Trend Detection
Week over Week (WoW)
| Metric |
Prior week |
This week |
Change |
Status |
| [Metric] |
[Value] |
[Value] |
[+/- %] |
[Normal / Watch / Alert] |
Alert thresholds:
- 10–20% change → monitor, no action yet
- 20–40% change → investigate, prepare a response
40% change → act now
Month over Month (MoM)
| Metric |
Prior month |
This month |
Change |
vs Industry benchmark |
| [Metric] |
[Value] |
[Value] |
[+/- %] |
[Above/Below industry avg] |
Seasonality (Global)
| Period |
Impact |
Adjustment |
| Q4 holiday (US: Black Friday → Christmas) |
CPM +30–50%, conversion up |
Increase budget; book inventory early; lock LPs |
| Chinese New Year |
Asia logistics paused, CPM +20% in APAC |
Move launches before/after; warn customers about shipping |
| Back-to-school (US: Aug; UK: Sep) |
CPM +10–15% (education/electronics) |
Plan from June |
| Valentine's, Mother's Day, Father's Day |
CPM +15–25% (gifting niches) |
Run campaigns 1 week before |
| Summer (Northern hemisphere: Jun–Aug) |
CPM dips 10–15% in many verticals |
Test creative, scale new channels |
| Ramadan / Eid (varies by year) |
MENA conversion shifts |
Adjust tone, timing — engagement spikes after iftar |
Anomaly Detection (Decision Trees)
CPL Spike
CPL up
├── CTR down? → Creative fatigue → Refresh creative
├── CTR normal + Conv rate down? → LP issue
│ ├── Slow load? → Check PageSpeed
│ ├── Form broken? → Test form on mobile
│ └── Wrong intent traffic? → Audit audience targeting
└── CPM up? → Auction pressure or seasonality
├── Holiday / sale season? → Increase budget or pause
└── Competitor spend up? → Switch audience or channel
ROAS Drop
ROAS down
├── Revenue down + spend flat? → Conversion problem
│ ├── Lead quality poor? → Check audience
│ ├── Sales team slow? → Check response time
│ └── Pricing changed? → Audit pricing
├── Revenue flat + spend up? → Over-spending
│ ├── Scaled too fast? → Reduce, max 20%/day increase
│ └── New channel not optimized? → Stop scaling, optimize first
└── Both down? → Systemic issue
├── Competitor running big promo? → Competitor scan
└── Off-season? → Check seasonality
Engagement Drop
Engagement down
├── Reach down? → Algo de-prioritized
│ ├── Too many promo posts? → Increase educational/entertainment ratio
│ └── Posting too often? → Reduce frequency
├── Reach normal + ER down? → Content not compelling
│ ├── Stale format? → Try new formats (carousel, POV, duet)
│ └── Repetitive topics? → Rotate angles per content matrix
└── Reach up + ER down? → Wrong audience reaching
Cohort Analysis
Monthly Cohort Template
| Cohort (signup month) |
Month 1 |
Month 2 |
Month 3 |
Month 6 |
Month 12 |
| Jan 2026 (100 customers) |
100% |
[X%] active |
[X%] |
[X%] |
[X%] |
| Feb 2026 (120 customers) |
100% |
[X%] |
[X%] |
[X%] |
— |
| Mar 2026 (95 customers) |
100% |
[X%] |
[X%] |
— |
— |
Reading:
- Steady decline across months → natural churn, build retention program
- Sharp drop in month 2 → bad first experience, fix onboarding
- Stable from month 3 → retention floor reached, focus on this segment
Cohort by Acquisition Source
| Source |
Customers |
CAC |
LTV 90 days |
LTV:CAC |
| Meta Ads |
[X] |
[X] |
[X] |
[X:1] |
| TikTok Ads |
[X] |
[X] |
[X] |
[X:1] |
| Organic |
[X] |
[X] |
[X] |
[X:1] |
| Referral |
[X] |
[X] |
[X] |
[X:1] |
| Email |
[X] |
[X] |
[X] |
[X:1] |
Healthy LTV:CAC is generally 3:1 or better.
Attribution Models
Comparing 3 Models
| Model |
How it credits |
When to use |
| Last Click |
100% to final touch |
Default, simple, short funnels |
| First Click |
100% to first touch |
Evaluating TOFU/awareness channels |
| Linear |
Equal split across all touches |
Long funnels, multi-channel, fair credit |
Attribution comparison template:
| Channel |
Last Click |
First Click |
Linear |
Note |
| Meta Ads |
[X orders] |
[X orders] |
[X orders] |
[Role: TOFU/BOFU?] |
| TikTok Ads |
[X orders] |
[X orders] |
[X orders] |
[Role?] |
| Google Search |
[X orders] |
[X orders] |
[X orders] |
[Role?] |
| Organic |
[X orders] |
[X orders] |
[X orders] |
[Role?] |
| Email |
[X orders] |
[X orders] |
[X orders] |
[Role?] |
Recommendations:
- Short funnel (1–3 days): Last Click works
- Medium funnel (7–14 days): use Linear
- Long funnel (30+ days): First Click for TOFU, Last Click for BOFU
- DTC/dropshipping at scale: switch to a dedicated tool (Triple Whale, Hyros, Northbeam)
Output Template
# Data Analysis Report — [Brand/Campaign]
Period: [Start] — [End]
Data sources: [Meta Ads / TikTok Ads / GA4 / Shopify / ...]
Analysis date: [YYYY-MM-DD]
---
## 1. Executive Summary
**3 most important insights:**
1. [Insight 1 — written as judgment, not raw numbers]
2. [Insight 2]
3. [Insight 3]
**Overall status:** [Green = stable | Yellow = monitor | Red = urgent action]
---
## 2. Descriptive — What happened?
### Top-line metrics
| Metric | This period | Prior period | Change | Industry benchmark | Status |
|--------|-------------|--------------|--------|--------------------|--------|
| Spend | [X] | [X] | [+/- %] | — | [icon] |
| Impressions | [X] | [X] | [+/- %] | — | [icon] |
| Clicks | [X] | [X] | [+/- %] | — | [icon] |
| CTR | [X%] | [X%] | [+/- %] | [X%] | [icon] |
| Leads | [X] | [X] | [+/- %] | — | [icon] |
| CPL | [X] | [X] | [+/- %] | [X] | [icon] |
| ROAS | [Xx] | [Xx] | [+/- %] | [Xx] | [icon] |
### Performance by channel
| Channel | Spend | Leads | CPL | ROAS | % of budget | Note |
|---------|-------|-------|-----|------|-------------|------|
| Meta Ads | [X] | [X] | [X] | [Xx] | [X%] | [1 sentence] |
| TikTok Ads | [X] | [X] | [X] | [Xx] | [X%] | [1 sentence] |
| Google Ads | [X] | [X] | [X] | [Xx] | [X%] | [1 sentence] |
### Top 5 campaigns
| Campaign | Spend | Leads | CPL | ROAS | Note |
|----------|-------|-------|-----|------|------|
| 1. [Name] | [X] | [X] | [X] | [Xx] | [1 sentence] |
| 2. [Name] | [X] | [X] | [X] | [Xx] | [1 sentence] |
| 3. [Name] | [X] | [X] | [X] | [Xx] | [1 sentence] |
| 4. [Name] | [X] | [X] | [X] | [Xx] | [1 sentence] |
| 5. [Name] | [X] | [X] | [X] | [Xx] | [1 sentence] |
### Top 3 creatives
| Creative | Format | Hook rate | CTR | CPL | Days running | Note |
|----------|--------|-----------|-----|-----|--------------|------|
| 1. [Name/desc] | [Video/Image/Carousel] | [X%] | [X%] | [X] | [X days] | [1 sentence] |
| 2. [Name/desc] | [Format] | [X%] | [X%] | [X] | [X days] | [1 sentence] |
| 3. [Name/desc] | [Format] | [X%] | [X%] | [X] | [X days] | [1 sentence] |
---
## 3. Diagnostic — Why?
### What's working — why?
- [Cause 1 + supporting data]
- [Cause 2 + supporting data]
### What's not — why?
- [Cause 1 + supporting data + remedy]
- [Cause 2 + supporting data + remedy]
### Anomalies to investigate
- [Anomaly 1 — description + likely cause + investigation step]
- [Anomaly 2]
---
## 4. Predictive — Forecast
### Next period (3 scenarios)
| Metric | Bear | Base | Bull |
|--------|------|------|------|
| Spend | [X] | [X] | [X] |
| Leads | [X] | [X] | [X] |
| CPL | [X] | [X] | [X] |
| ROAS | [Xx] | [Xx] | [Xx] |
| Revenue | [X] | [X] | [X] |
### Forecast drivers
- [Driver 1: seasonality, competitor, algo change, ...]
- [Driver 2]
---
## 5. Prescriptive — Actions
### Act now (next 48h)
| # | Action | Owner | Deadline | Measure by |
|---|--------|-------|----------|------------|
| 1 | [Specific action] | [Role] | [Date] | [Metric] |
| 2 | [Specific action] | [Role] | [Date] | [Metric] |
### This week
| # | Action | Owner | Deadline | Measure by |
|---|--------|-------|----------|------------|
| 1 | [Specific action] | [Role] | [Date] | [Metric] |
| 2 | [Specific action] | [Role] | [Date] | [Metric] |
### This month
| # | Action | Owner | Deadline | Measure by |
|---|--------|-------|----------|------------|
| 1 | [Specific action] | [Role] | [Date] | [Metric] |
| 2 | [Specific action] | [Role] | [Date] | [Metric] |
Auto-Diagnostics
When analyzing, automatically check these conditions:
| Condition |
Check |
Action |
| CPL up > 30% WoW |
Creative running > 14 days? Frequency > 3? |
Refresh creative, rotate audience |
| CTR < 0.8% |
Strong 3s hook? Eye-catching imagery? |
A/B test hooks, change opening frame |
| ROAS < 2x for 7 days |
Right audience? LP conv rate? |
Narrow audience, audit LP |
| LP conv rate < 3% |
Load time? Form length? CTA clarity? |
Trigger skill 12-landing-page-brief-global |
| Frequency > 4 |
Audience saturated |
Expand audience or switch channel |
| Spend < 70% of budget |
Audience too narrow or bid too low |
Expand audience, raise bid |
| One channel > 60% spend |
Single-channel dependency risk |
Reallocate, test new channel |
Skill Cross-references
03-performance-review-global — broader marketing performance review
07-marketing-report-global — turn analysis into stakeholder-ready monthly/quarterly report
10-reverse-kpi-calc-global — recompute KPIs and budget from real data
12-landing-page-brief-global — when LP conversion is the bottleneck
05-ad-copy-global — when creative is the bottleneck
15-social-listening-global — add qualitative data (sentiment, trends) alongside quantitative
Quality Checklist
Before delivering the report
1---
2name: 13-data-analysis-global
3description: "Use when raw data exists — Meta, Google, TikTok, GA4, Shopify, a CRM export, or a spreadsheet — and has to become insight and decisions: descriptive, diagnostic, predictive, and prescriptive layers, cuts by channel, campaign, creative, audience, and time, cohorts, and a decision log. Trigger on 'analyze this data', 'read these numbers for me', 'what does this export say', 'pull insight from GA4', 'cohort analysis', 'here is the spreadsheet'. Also use when the user pastes a table and asks what it means. Not for — diagnosing ad root cause, see `03-performance-eval-global`; writing the report a stakeholder reads, see `07-marketing-report-global`; auditing account setup, see `21-ads-audit-global`."
4metadata:
5 version: 2.5.1
6 category: performance
7 language: en
8triggers:
9 - "data analysis"
10 - "analyze data"
11 - "marketing analytics"
12 - "Meta Ads analysis"
13 - "TikTok Ads analysis"
14 - "GA4 report"
15 - "performance analysis"
16 - "Triple Whale"
17 - "Hyros"
18 - "Northbeam"
19output: A .md report structured as Descriptive, Diagnostic, Predictive, Prescriptive — with tables and concrete recommendations
20related:
21 - 03-performance-review-global
22 - 07-marketing-report-global
23 - 10-reverse-kpi-calc-global
24 - 12-landing-page-brief-global
25---
26
27# Marketing Data Analysis (Global)
28
29> Insight before numbers. Lead with judgment, illustrate with data — never list numbers without interpretation.
30
31---
32
33## Information Gathering
34
35Ask up to 4 questions:
36
371. **Data source?** Meta Ads, TikTok Ads, GA4, Shopify, Triple Whale/Hyros/Northbeam, Google Sheets — single source or combined?
382. **Time window?** This week, this month, A vs B (e.g. March vs April)?
393. **Current business goal?** Increase leads, lower CPL, raise ROAS, or a specific issue to fix?
404. **Paste data here** — drop a table, or describe core metrics (spend, impressions, clicks, leads, revenue).
41
42---
43
44## Analysis Principles
45
46### Reading Order
47
48```
491. DESCRIPTIVE — What happened? (numbers, trends)
502. DIAGNOSTIC — Why? (root cause)
513. PREDICTIVE — What's next? (forecast)
524. PRESCRIPTIVE — What to do? (concrete actions)
53```
54
55### Presentation Rules
56
57| Rule | Explanation |
58|------|-------------|
59| Insight first, numbers second | "CPL up 40% due to creative fatigue" — not "CPL went from $5 to $7" |
60| Compare, don't quote absolutes | Always compare with: prior week (WoW), prior month (MoM), or industry benchmark |
61| Flag anomalies | Any metric moving > 20% vs prior period → flag for investigation |
62| Recommendations have deadlines | Each recommendation specifies: action, when, owner, success metric |
63
64---
65
66## Analysis Frameworks by Source
67
68### Meta Ads
69
70| Level | Primary metrics | Secondary metrics |
71|-------|-----------------|-------------------|
72| Account | Spend, ROAS, CPA | Frequency, Reach |
73| Campaign | CPM, CPL, Conv rate | Budget utilization |
74| Ad Set | CPC, CTR, CPM | Audience size, overlap |
75| Ad (Creative) | Hook rate (3s view), Hold rate, CTR | Engagement rate, save rate |
76
77**Reading Meta Ads:**
78
79```
80High spend + low impressions → CPM high → audience too narrow or auction-pressured
81High impressions + low clicks → CTR low → creative not compelling
82High clicks + low leads → LP problem or form too long
83High leads + low bookings → poor lead quality or weak nurture
84```
85
86### TikTok Ads
87
88| Level | Primary metrics | Secondary metrics |
89|-------|-----------------|-------------------|
90| Account | Spend, CPA, ROAS | Total impressions |
91| Campaign | CPM, Cost per result | Campaign type performance |
92| Ad Group | CPC, CTR, Conv rate | Audience size, age/gender split |
93| Ad (Video) | 2s view rate, 6s view rate, completion rate | Like, comment, share |
94
95**Reading TikTok Ads:**
96
97```
982s view rate low → weak hook — first 3 seconds aren't strong enough
996s view rate low → losing attention after the hook
100Completion rate low + CTR low → video doesn't drive action
101CPV high → wrong audience, or video doesn't fit TikTok format
102```
103
104### Google Analytics 4
105
106| Metric group | Metric | Meaning |
107|--------------|--------|---------|
108| Acquisition | Users, Sessions, Source/Medium | Traffic origin |
109| Engagement | Engagement rate, Time on page, Pages/session | Traffic quality |
110| Conversion | Conv rate, Events (form submit, click CTA) | Conversion effectiveness |
111| Retention | Returning users, User retention | Stickiness |
112
113**Reading GA4:**
114
115```
116Traffic up + engagement down → low-quality traffic, filter sources
117Traffic up + conversions down → LP problem or wrong-intent traffic
118Bounce rate high (>70%) on one page → mismatch with ad copy or slow load
119```
120
121### E-commerce Attribution Tools (Dropshipping/DTC)
122
123For dropshipping or DTC stores, native ad-platform metrics often diverge from real revenue. Use one of these:
124
125| Tool | Best for | Key feature |
126|------|----------|-------------|
127| **Triple Whale** | Shopify DTC | Pixel-based attribution, blended ROAS, AI insights |
128| **Hyros** | Info products + DTC | Server-side tracking, long-window attribution |
129| **Northbeam** | High-spend DTC ($100K+/mo) | MTA + MMM, incrementality testing |
130| **Polar Analytics** | Mid-market DTC | All-in-one dashboards, source-of-truth tracking |
131| **Wicked Reports** | Email-heavy DTC | Multi-touch attribution including email |
132
133**Cross-checking:** when Meta reports 5x ROAS but Shopify reports 2x ROAS, trust the platform-of-record (Shopify). The gap is usually iOS 14+ attribution loss.
134
135### Spreadsheet Data (Manual)
136
137When user pastes data from a sheet:
138
1391. Identify core columns: date, channel, spend, units (impressions/clicks/leads/orders), revenue
1402. Compute derived metrics: CPL, CPA, ROAS, conversion rate
1413. Sort by time to surface trends
1424. Group by channel/campaign for comparison
143
144---
145
146## Trend Detection
147
148### Week over Week (WoW)
149
150| Metric | Prior week | This week | Change | Status |
151|--------|-----------|-----------|--------|--------|
152| [Metric] | [Value] | [Value] | [+/- %] | [Normal / Watch / Alert] |
153
154**Alert thresholds:**
155- 10–20% change → monitor, no action yet
156- 20–40% change → investigate, prepare a response
157- > 40% change → act now
158
159### Month over Month (MoM)
160
161| Metric | Prior month | This month | Change | vs Industry benchmark |
162|--------|------------|-----------|--------|----------------------|
163| [Metric] | [Value] | [Value] | [+/- %] | [Above/Below industry avg] |
164
165### Seasonality (Global)
166
167| Period | Impact | Adjustment |
168|--------|--------|-----------|
169| Q4 holiday (US: Black Friday → Christmas) | CPM +30–50%, conversion up | Increase budget; book inventory early; lock LPs |
170| Chinese New Year | Asia logistics paused, CPM +20% in APAC | Move launches before/after; warn customers about shipping |
171| Back-to-school (US: Aug; UK: Sep) | CPM +10–15% (education/electronics) | Plan from June |
172| Valentine's, Mother's Day, Father's Day | CPM +15–25% (gifting niches) | Run campaigns 1 week before |
173| Summer (Northern hemisphere: Jun–Aug) | CPM dips 10–15% in many verticals | Test creative, scale new channels |
174| Ramadan / Eid (varies by year) | MENA conversion shifts | Adjust tone, timing — engagement spikes after iftar |
175
176---
177
178## Anomaly Detection (Decision Trees)
179
180### CPL Spike
181
182```
183CPL up
184├── CTR down? → Creative fatigue → Refresh creative
185├── CTR normal + Conv rate down? → LP issue
186│ ├── Slow load? → Check PageSpeed
187│ ├── Form broken? → Test form on mobile
188│ └── Wrong intent traffic? → Audit audience targeting
189└── CPM up? → Auction pressure or seasonality
190 ├── Holiday / sale season? → Increase budget or pause
191 └── Competitor spend up? → Switch audience or channel
192```
193
194### ROAS Drop
195
196```
197ROAS down
198├── Revenue down + spend flat? → Conversion problem
199│ ├── Lead quality poor? → Check audience
200│ ├── Sales team slow? → Check response time
201│ └── Pricing changed? → Audit pricing
202├── Revenue flat + spend up? → Over-spending
203│ ├── Scaled too fast? → Reduce, max 20%/day increase
204│ └── New channel not optimized? → Stop scaling, optimize first
205└── Both down? → Systemic issue
206 ├── Competitor running big promo? → Competitor scan
207 └── Off-season? → Check seasonality
208```
209
210### Engagement Drop
211
212```
213Engagement down
214├── Reach down? → Algo de-prioritized
215│ ├── Too many promo posts? → Increase educational/entertainment ratio
216│ └── Posting too often? → Reduce frequency
217├── Reach normal + ER down? → Content not compelling
218│ ├── Stale format? → Try new formats (carousel, POV, duet)
219│ └── Repetitive topics? → Rotate angles per content matrix
220└── Reach up + ER down? → Wrong audience reaching
221```
222
223---
224
225## Cohort Analysis
226
227### Monthly Cohort Template
228
229| Cohort (signup month) | Month 1 | Month 2 | Month 3 | Month 6 | Month 12 |
230|-----------------------|---------|---------|---------|---------|----------|
231| Jan 2026 (100 customers) | 100% | [X%] active | [X%] | [X%] | [X%] |
232| Feb 2026 (120 customers) | 100% | [X%] | [X%] | [X%] | — |
233| Mar 2026 (95 customers) | 100% | [X%] | [X%] | — | — |
234
235**Reading:**
236- Steady decline across months → natural churn, build retention program
237- Sharp drop in month 2 → bad first experience, fix onboarding
238- Stable from month 3 → retention floor reached, focus on this segment
239
240### Cohort by Acquisition Source
241
242| Source | Customers | CAC | LTV 90 days | LTV:CAC |
243|--------|-----------|-----|-------------|---------|
244| Meta Ads | [X] | [X] | [X] | [X:1] |
245| TikTok Ads | [X] | [X] | [X] | [X:1] |
246| Organic | [X] | [X] | [X] | [X:1] |
247| Referral | [X] | [X] | [X] | [X:1] |
248| Email | [X] | [X] | [X] | [X:1] |
249
250**Healthy LTV:CAC** is generally 3:1 or better.
251
252---
253
254## Attribution Models
255
256### Comparing 3 Models
257
258| Model | How it credits | When to use |
259|-------|---------------|-------------|
260| Last Click | 100% to final touch | Default, simple, short funnels |
261| First Click | 100% to first touch | Evaluating TOFU/awareness channels |
262| Linear | Equal split across all touches | Long funnels, multi-channel, fair credit |
263
264**Attribution comparison template:**
265
266| Channel | Last Click | First Click | Linear | Note |
267|---------|-----------|-------------|--------|------|
268| Meta Ads | [X orders] | [X orders] | [X orders] | [Role: TOFU/BOFU?] |
269| TikTok Ads | [X orders] | [X orders] | [X orders] | [Role?] |
270| Google Search | [X orders] | [X orders] | [X orders] | [Role?] |
271| Organic | [X orders] | [X orders] | [X orders] | [Role?] |
272| Email | [X orders] | [X orders] | [X orders] | [Role?] |
273
274**Recommendations:**
275- Short funnel (1–3 days): Last Click works
276- Medium funnel (7–14 days): use Linear
277- Long funnel (30+ days): First Click for TOFU, Last Click for BOFU
278- DTC/dropshipping at scale: switch to a dedicated tool (Triple Whale, Hyros, Northbeam)
279
280---
281
282## Output Template
283
284```markdown
285# Data Analysis Report — [Brand/Campaign]
286Period: [Start] — [End]
287Data sources: [Meta Ads / TikTok Ads / GA4 / Shopify / ...]
288Analysis date: [YYYY-MM-DD]
289
290---
291
292## 1. Executive Summary
293
294**3 most important insights:**
2951. [Insight 1 — written as judgment, not raw numbers]
2962. [Insight 2]
2973. [Insight 3]
298
299**Overall status:** [Green = stable | Yellow = monitor | Red = urgent action]
300
301---
302
303## 2. Descriptive — What happened?
304
305### Top-line metrics
306
307| Metric | This period | Prior period | Change | Industry benchmark | Status |
308|--------|-------------|--------------|--------|--------------------|--------|
309| Spend | [X] | [X] | [+/- %] | — | [icon] |
310| Impressions | [X] | [X] | [+/- %] | — | [icon] |
311| Clicks | [X] | [X] | [+/- %] | — | [icon] |
312| CTR | [X%] | [X%] | [+/- %] | [X%] | [icon] |
313| Leads | [X] | [X] | [+/- %] | — | [icon] |
314| CPL | [X] | [X] | [+/- %] | [X] | [icon] |
315| ROAS | [Xx] | [Xx] | [+/- %] | [Xx] | [icon] |
316
317### Performance by channel
318
319| Channel | Spend | Leads | CPL | ROAS | % of budget | Note |
320|---------|-------|-------|-----|------|-------------|------|
321| Meta Ads | [X] | [X] | [X] | [Xx] | [X%] | [1 sentence] |
322| TikTok Ads | [X] | [X] | [X] | [Xx] | [X%] | [1 sentence] |
323| Google Ads | [X] | [X] | [X] | [Xx] | [X%] | [1 sentence] |
324
325### Top 5 campaigns
326
327| Campaign | Spend | Leads | CPL | ROAS | Note |
328|----------|-------|-------|-----|------|------|
329| 1. [Name] | [X] | [X] | [X] | [Xx] | [1 sentence] |
330| 2. [Name] | [X] | [X] | [X] | [Xx] | [1 sentence] |
331| 3. [Name] | [X] | [X] | [X] | [Xx] | [1 sentence] |
332| 4. [Name] | [X] | [X] | [X] | [Xx] | [1 sentence] |
333| 5. [Name] | [X] | [X] | [X] | [Xx] | [1 sentence] |
334
335### Top 3 creatives
336
337| Creative | Format | Hook rate | CTR | CPL | Days running | Note |
338|----------|--------|-----------|-----|-----|--------------|------|
339| 1. [Name/desc] | [Video/Image/Carousel] | [X%] | [X%] | [X] | [X days] | [1 sentence] |
340| 2. [Name/desc] | [Format] | [X%] | [X%] | [X] | [X days] | [1 sentence] |
341| 3. [Name/desc] | [Format] | [X%] | [X%] | [X] | [X days] | [1 sentence] |
342
343---
344
345## 3. Diagnostic — Why?
346
347### What's working — why?
348- [Cause 1 + supporting data]
349- [Cause 2 + supporting data]
350
351### What's not — why?
352- [Cause 1 + supporting data + remedy]
353- [Cause 2 + supporting data + remedy]
354
355### Anomalies to investigate
356- [Anomaly 1 — description + likely cause + investigation step]
357- [Anomaly 2]
358
359---
360
361## 4. Predictive — Forecast
362
363### Next period (3 scenarios)
364
365| Metric | Bear | Base | Bull |
366|--------|------|------|------|
367| Spend | [X] | [X] | [X] |
368| Leads | [X] | [X] | [X] |
369| CPL | [X] | [X] | [X] |
370| ROAS | [Xx] | [Xx] | [Xx] |
371| Revenue | [X] | [X] | [X] |
372
373### Forecast drivers
374- [Driver 1: seasonality, competitor, algo change, ...]
375- [Driver 2]
376
377---
378
379## 5. Prescriptive — Actions
380
381### Act now (next 48h)
382| # | Action | Owner | Deadline | Measure by |
383|---|--------|-------|----------|------------|
384| 1 | [Specific action] | [Role] | [Date] | [Metric] |
385| 2 | [Specific action] | [Role] | [Date] | [Metric] |
386
387### This week
388| # | Action | Owner | Deadline | Measure by |
389|---|--------|-------|----------|------------|
390| 1 | [Specific action] | [Role] | [Date] | [Metric] |
391| 2 | [Specific action] | [Role] | [Date] | [Metric] |
392
393### This month
394| # | Action | Owner | Deadline | Measure by |
395|---|--------|-------|----------|------------|
396| 1 | [Specific action] | [Role] | [Date] | [Metric] |
397| 2 | [Specific action] | [Role] | [Date] | [Metric] |
398```
399
400---
401
402## Auto-Diagnostics
403
404When analyzing, automatically check these conditions:
405
406| Condition | Check | Action |
407|-----------|-------|--------|
408| CPL up > 30% WoW | Creative running > 14 days? Frequency > 3? | Refresh creative, rotate audience |
409| CTR < 0.8% | Strong 3s hook? Eye-catching imagery? | A/B test hooks, change opening frame |
410| ROAS < 2x for 7 days | Right audience? LP conv rate? | Narrow audience, audit LP |
411| LP conv rate < 3% | Load time? Form length? CTA clarity? | Trigger skill 12-landing-page-brief-global |
412| Frequency > 4 | Audience saturated | Expand audience or switch channel |
413| Spend < 70% of budget | Audience too narrow or bid too low | Expand audience, raise bid |
414| One channel > 60% spend | Single-channel dependency risk | Reallocate, test new channel |
415
416---
417
418## Skill Cross-references
419
420- **`03-performance-review-global`** — broader marketing performance review
421- **`07-marketing-report-global`** — turn analysis into stakeholder-ready monthly/quarterly report
422- **`10-reverse-kpi-calc-global`** — recompute KPIs and budget from real data
423- **`12-landing-page-brief-global`** — when LP conversion is the bottleneck
424- **`05-ad-copy-global`** — when creative is the bottleneck
425- **`15-social-listening-global`** — add qualitative data (sentiment, trends) alongside quantitative
426
427---
428
429## Quality Checklist
430
431### Before delivering the report
432
433- [ ] Every insight has supporting data
434- [ ] Every number is compared (WoW, MoM, or vs benchmark)
435- [ ] Anomalies (> 20% change) flagged and explained
436- [ ] Recommendations specify: owner, deadline, success metric
437- [ ] Forecast includes 3 scenarios (bear, base, bull)
438- [ ] No raw numbers without interpretation
439- [ ] Source and time window are clearly stated
440- [ ] Cross-checked: ad-platform spend matches actual spend
441- [ ] For dropshipping/DTC: revenue cross-checked between Shopify and ad platform