Delivery Plan - Juicy Marbles Ad Automation
What We Are Delivering
Everything. Jon provides API credentials (30 minutes of his time). We build, deploy, and hand over a fully automated ad intelligence system. No agency, no SaaS fees, no retainer.
Phase 1: Credentials Collection (Jon's side - 30 min total)
Send Jon the getting-started.pdf with step-by-step instructions. He sets up:
| Platform | What Jon Creates | What He Sends Us |
|---|---|---|
| Meta Ads | System User (Analyst role) | Token + Ad Account ID (act_xxx) |
| Google Ads EU | Manager invite (Standard) | Customer ID (123-456-7890) |
| Google Ads US | Manager invite (Standard) | Customer ID (123-456-7890) |
| Shopify US | Private app (read_orders, read_customers) | API key + store domain |
| Shopify EU | Private app (read_orders, read_customers) | API key + store domain |
Credential transfer: Secure channel only. 1Password shared vault, or Signal. Not WhatsApp, not email.
Google Ads UK (retail) is out of scope for now - Jon said "chat about this at a later date."
Bonus: Polar Analytics
Jon already uses Polar Analytics, which aggregates all his data sources (Shopify, Meta, Google Ads, Klaviyo, 45+ connectors) into one warehouse. He already has the Polar MCP set up with Claude. This gives us:
- Instant cross-platform queries via MCP for ad-hoc analysis and initial audits
- No credential wait for the first audit - we can query Polar immediately
- Our scheduled GitHub Actions still use direct APIs (Polar MCP is interactive, not batch)
Phase 2: First Audit Reports (Day 1-2 after credentials)
As soon as each credential arrives, we run the audit for that platform.
| Script | What It Produces | Delivery |
|---|---|---|
export-meta-ads-data.py | 90-day campaign/adset/ad performance, creative fatigue flags, frequency analysis | CSV + summary email to jon@w23.me |
export-google-ads-data.py (x2) | 16 reports per account (EU + US), search terms, quality scores, auction insights | CSV + summary email |
export-shopify-data.py (x2) | Orders, customers, RFM segments, audience CSVs for both stores | CSV + audience files email |
First deliverable Jon sees: A plain-English email saying "Here is what your Meta account looks like. Here is what is working. Here is what is wasting money. Here are 3 things to do this week."
This is the moment that proves the value. Make it count.
Phase 3: GitHub Repo + Automation Setup (Week 1)
Option A (recommended)
Private repo under Jon's GitHub account
- Jon creates a free GitHub account
- We set up the repo, add all scripts, configure workflows
- Jon's API keys stored as encrypted GitHub Secrets
- Jon owns everything - we are just setting it up
Option B
Run under our repo
- We host the automation
- Jon gets email reports
- Less ownership for Jon, but zero setup on his side
What Gets Deployed
Email alerts configured to: jon@w23.me
Phase 4: D2C Focus Rules Encoded (Week 1-2)
Take Jon's D2C Focus doc and hard-code the rules into the automation:
| Rule | Implementation |
|---|---|
| No % discounts in EU prospecting | Suppression list of discount-only buyers uploaded to Meta |
| Report by country, not "EU total" | Digest template: DE, SE/NO/DK, IE, IT, ES as separate rows |
| Report by state, not "US total" | Digest template: CA, FL, NY, TX, WA + MI/OR as separate rows |
| Tuesday = 30-35% US budget | Dayparting alert if Tuesday spend falls below 25% |
| Sunday = 35-40% DE budget | Dayparting alert if weekend DE spend is below threshold |
| Fish creative only in CA/WA/OR | Geo-fence validation in weekly audit |
| No discounts in WA/MI/OR/NO | Alert if discount campaigns active in these geos |
| Michelin creative fatigue tracking per geo | Frequency tracked per country/state, not just per ad |
| Discount code cohort analysis | CHEEKYMARBLS/COUNTMARBULA/LATETOSCHOOOL tracked by LTV |
Phase 5: Walkthrough Call (Week 2)
Once automation is running and Jon has received at least one weekly digest:
30-min screen share - walk through the repo, show what each workflow does
Show Jon how to read the weekly digest email
Show Jon how to manually trigger a report if needed
Show Jon how to upload audience CSVs to Meta/Google (5 min each)
Answer questions
After this call, Jon should be self-sufficient. The system runs itself - he reads one email per week.
Phase 6: Reddit + TikTok (When Jon launches)
Jon said these are coming. When he has account IDs:
- Build export scripts (same pattern as Meta)
- Add to GitHub Actions schedule
- Add to weekly digest
What Jon Gets
| Deliverable | Frequency | His Time Investment |
|---|---|---|
| Meta audit report | Weekly (Monday) | Read 1 email (~5 min) |
| Google Ads audit report (EU + US) | Weekly (Monday) | Read 1 email (~5 min) |
| Creative fatigue alerts | Daily (when triggered) | Read alert, pause ad (~2 min) |
| Audience CSVs (Meta + Google) | Monthly | Upload to Meta + Google (~10 min) |
| RFM customer segments | Monthly | Forward to Klaviyo if needed |
| Full monthly performance summary | 1st of month | Read 1 report (~10 min) |
What This Costs Jon
- GitHub Actions: free
- Python scripts: free
- API access: free (he already pays for the platforms)
- Henrik's time: free (this is a favor via Mitch)
The only potential future cost: if Jon wants to add the Gemini-powered ad copy generator, that is ~EUR 0.01 per generation batch. Negligible.
Communication
Timeline
| When | What | Status |
|---|---|---|
| 2026-03-18 | Plan sent to Jon | Done |
| 2026-03-19 | D2C Focus doc analyzed | Done |
| 2026-03-19 | Getting started guide sent | Done |
| Next | Jon sends first credentials | Waiting |
| +24h | First audit report delivered | - |
| +1 week | Full automation live | - |
| +2 weeks | Walkthrough call | - |