Delivery Plan

Back to Documents

Delivery Plan - Juicy Marbles Ad Automation

Date: 2026-03-19 Client: Jon (jon@w23.me) | Juicy Marbles | ~EUR 2.5m PA Referred by: Mitchell Bradley Scope: Full setup, free of charge

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:

PlatformWhat Jon CreatesWhat He Sends Us
Meta AdsSystem User (Analyst role)Token + Ad Account ID (act_xxx)
Google Ads EUManager invite (Standard)Customer ID (123-456-7890)
Google Ads USManager invite (Standard)Customer ID (123-456-7890)
Shopify USPrivate app (read_orders, read_customers)API key + store domain
Shopify EUPrivate 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.

ScriptWhat It ProducesDelivery
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 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

.github/workflows/
  weekly-meta-audit.yml        # Monday 07:00 UTC - Meta pull + fatigue check
  weekly-google-audit.yml      # Monday 07:15 UTC - Google Ads 16 reports (EU + US)
  weekly-shopify-sync.yml      # Sunday 23:00 UTC - fresh order data
  monthly-audience-rebuild.yml # 1st of month - RFM + audience CSVs
  daily-fatigue-check.yml      # Daily 06:00 UTC - creative frequency monitoring

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:

RuleImplementation
No % discounts in EU prospectingSuppression 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 budgetDayparting alert if Tuesday spend falls below 25%
Sunday = 35-40% DE budgetDayparting alert if weekend DE spend is below threshold
Fish creative only in CA/WA/ORGeo-fence validation in weekly audit
No discounts in WA/MI/OR/NOAlert if discount campaigns active in these geos
Michelin creative fatigue tracking per geoFrequency tracked per country/state, not just per ad
Discount code cohort analysisCHEEKYMARBLS/COUNTMARBULA/LATETOSCHOOOL tracked by LTV

Phase 5: Walkthrough Call (Week 2)

Once automation is running and Jon has received at least one weekly digest:

1

30-min screen share - walk through the repo, show what each workflow does

2

Show Jon how to read the weekly digest email

3

Show Jon how to manually trigger a report if needed

4

Show Jon how to upload audience CSVs to Meta/Google (5 min each)

5

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

DeliverableFrequencyHis Time Investment
Meta audit reportWeekly (Monday)Read 1 email (~5 min)
Google Ads audit report (EU + US)Weekly (Monday)Read 1 email (~5 min)
Creative fatigue alertsDaily (when triggered)Read alert, pause ad (~2 min)
Audience CSVs (Meta + Google)MonthlyUpload to Meta + Google (~10 min)
RFM customer segmentsMonthlyForward to Klaviyo if needed
Full monthly performance summary1st of monthRead 1 report (~10 min)
~10 min Time per week
~30 min Time per month

What This Costs Jon

Nothing. Zero.
  • 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

Primary
WhatsApp group (Jon + Henrik + Mitch)
Credential transfer
Signal or 1Password shared vault
Reports
Email to jon@w23.me
Walkthrough
Google Meet or Zoom

Timeline

WhenWhatStatus
2026-03-18Plan sent to JonDone
2026-03-19D2C Focus doc analyzedDone
2026-03-19Getting started guide sentDone
NextJon sends first credentialsWaiting
+24hFirst audit report delivered-
+1 weekFull automation live-
+2 weeksWalkthrough call-