D2C Focus Analysis

← Back to Documents

Analysis: D2C Focus - Paid Social Targeting Guide

Analyst: Henrik Date: 2026-03-19 Source: D2C_Focus_March_2026_COMPLETE.pdf (20 pages) For: Internal use - feed back into automation build

Executive Summary

This is not a generic strategy deck. It is built on real Shopify order data with state/country-level breakdowns of AOV, LTV, repeat rate, discount rate, email opt-in, and gender split. The data quality is high and the targeting recommendations are specific enough to implement directly into Meta ad sets.

The document's biggest strength: It identifies which markets are premium (low discount, high repeat, high LTV) vs. acquisition-dependent, and tailors messaging accordingly. This is the exact segmentation our automation system needs to enforce.

The document's biggest gap: No performance baselines from the current ad account. All the targeting is built on Shopify customer data, but there's no reference to which campaigns, audiences, or creatives are currently running. We can't tell what's been tested vs. what's hypothetical.


What the Data Actually Says

EU Market Hierarchy (from the doc)

Priority Market Key Signal Our Automation Action
P1 Germany 29.7% of EU orders, 71% male Separate DE campaigns, German-language creative, Sunday peak
P1 Nordics (SE/NO/DK) Norway AOV EUR202 (highest EU), multi-pack behavior No discounts in NO. Michelin creative as-is for EN markets
P2 Ireland 19.1% repeat rate (best EU loyalty) Higher CAC justified by LTV. Free shipping as acquisition hook
P2 Italy & Spain EUR53k combined, untapped Italian + Spanish language mandatory. Post-dinner scroll window
P3 Portugal, Romania, Finland High LTV signals Test at EUR100-200/week, prove ROAS 3+ before scaling

US Market Hierarchy (from the doc)

Priority State Orders Revenue Repeat Discount LTV Key Insight
P1 California 1,326 $185,943 38.6% 43.7% $178 343 fish buyers - only state for fish creative
P1 Florida 571 $79,218 38.5% 42.2% $175 74.4% email opt-in - highest of top 5
P1 New York 560 $74,987 38.4% 43.6% $170 Brooklyn 98 orders - food-culture hub
P1 Texas 395 $53,772 32.7% 41.0% $169 64% female - strongest skew. Repeat rate broken
P1 Washington 370 $53,196 38.1% 37.0% $184 $152 full-price AOV - least price-sensitive
Loyalty Michigan 205 $28,596 42.0% 33.2% $184 79.5% email opt-in - exceptional
Loyalty Oregon 202 $27,570 43.6% 43.1% $184 Highest repeat in entire US
P2 NJ/CO/IL/OH/PA 1,390 combined ~$185k 33-37% 37-41% varies Scale after top 5 optimized

7 Things the Doc Gets Right

1. No-Discount Rule for Premium Markets

Washington (37% discount rate, $152 full-price AOV), Michigan (33.2%), and Norway (EUR202 AOV) are explicitly flagged as markets where discount offers will corrupt buying behavior. This is correct and critical - our automation must enforce this by excluding these geos from any discount-based campaigns.

2. Language Localization is Non-Negotiable

German and Italian ads in English will underperform. The doc provides actual German and Italian copy lines:

  • DE: "Das ist kein Fleisch. Aber Michelin-Koche haben es serviert."
  • IT: "Non e carne. Ma i cuochi stellati lo hanno servito."
  • ES: "Carne? No. Sabor? Completamente."

Our ad copy generator must be pre-loaded with these as seed copy, not generate from scratch in English.

3. The Michelin Creative as Universal Anchor

The doc repeatedly references a 7.1% CTR Michelin ad ("Michelin-starred chefs served this. It's not meat.") as the universal prospecting creative. Every market section recommends running it as-is before localizing. This is the right approach - don't fragment creative testing across markets before proving the anchor works everywhere.

4. Fish Products Are a West Coast Story

343 fish buyers in California alone. The doc restricts fish-specific creative (Kinda Cod, Kinda Salmon) to CA/WA/OR only. This aligns with our earlier analysis that US fish pricing ($65.99 vs EUR19.99 EU) makes fish ads uneconomic in most US markets. Pacific Northwest seafood culture is the exception.

5. Tuesday Is the Universal US Peak Day

Every US state shows Tuesday as the primary peak. The doc recommends 30-35% of weekly budget on Tuesday alone, with the 11am-2pm ET window as primary. This is an immediately actionable dayparting rule our automation should enforce.

6. Texas Repeat Rate Is Broken

32.7% repeat (lowest top-5 state) despite strong acquisition. The doc correctly identifies this as an email/retention problem, not an acquisition problem. 64% female skew means the acquisition creative is working on women but the post-purchase email flow isn't converting them into repeaters. Klaviyo integration priority should be Texas-first.

7. Email Opt-In as the Hidden Asset

Ohio (78.1%), Michigan (79.5%), Maryland (79.2%), Pennsylvania (74.8%), Florida (74.4%) have exceptional opt-in rates. The doc flags these as being under-served by the current agency's email strategy. Our Shopify RFM export feeding into Klaviyo segments is the exact solution here - no additional ad spend needed.


5 Things Missing or Wrong

1. No Current Campaign Performance Data

The entire doc is built on Shopify order data. There's zero reference to:

  • Current Meta campaign structure (how many campaigns, ad sets, active ads?)
  • Current ROAS by market or campaign
  • Current CPM/CPC by geography
  • Which of these targeting recommendations have already been tested
  • Which audiences are currently active vs. paused

Why this matters: The targeting is excellent but it's built in a vacuum. When we connect the Meta API, the first thing we need is a campaign-to-geography mapping to see which of Jon's doc recommendations are already running and which are untested.

2. No Attribution Model Discussion

The doc recommends detailed geo and daypart targeting but doesn't address whether Meta's attribution window is set correctly for a $70-140 AOV frozen food product. If campaigns are on 1-day click attribution, the Tuesday budget strategy might be measuring the wrong conversions. Our plan-for-jon.md covers this (Section 1, point 4) but this doc doesn't.

3. Combined Meta Account Creates Structural Risk

Jon confirmed Meta runs EU + US in one combined account. The doc recommends country-level reporting and different creative by market - but if the account structure is flat (single campaign spanning EU + US), Meta's algorithm will optimize for whichever geography converts cheapest, not which converts best by LTV.

Our fix: The audit must check campaign structure first. If campaigns span regions, separating them is step zero before any targeting changes.

4. Discount Code Intelligence Needs Shopify Connection

The doc reveals top discount codes: CHEEKYMARBLS (237 uses), COUNTMARBULA (179), LATETOSCHOOOL (178), FIRSTMARBLES (38). These appear to be influencer/podcast codes. But without Shopify order-level data mapped to these codes, we can't tell:

  • Which code users have the highest LTV
  • Whether code users repeat at higher or lower rates
  • Whether codes cannibalize full-price revenue

Our Shopify export script already has the infrastructure for this. We just need to add a discount_code field to the RFM analysis.

5. Reddit and TikTok Absent

Jon told us he's about to launch Reddit Ads and TikTok Ads. This doc only covers Meta (paid social). The persona and interest targeting data here is Meta-specific - Reddit subreddits and TikTok interest categories would need separate research. Worth noting so we don't blindly copy Meta audiences to new platforms.


Contradictions With Our Existing Plan

Topic D2C Focus Says Our Plan Says Resolution
Device targeting Not mentioned Suppress mobile bids 70-90% Our plan is correct for Google Ads. For Meta, mobile is often the primary channel - do NOT suppress. Different rules per platform
Ireland creative Mirror US campaigns Build EU-specific creative D2C Focus is right - Ireland's behavior is closer to US than EU. Use English US creative in IE
Audience building Use interest stacks from doc Build lookalikes from Shopify RFM data Both. Interest stacks for cold prospecting, RFM lookalikes for warm prospecting. Layer them
Discount strategy No % discounts in EU prospecting Not explicitly addressed D2C Focus is right. Add as a hard rule: no percentage-off ads in EU prospecting campaigns
Reporting Report by country, not "EU total" Weekly digest by market Aligned. Our digest must break EU into DE/SE/NO/DK/IE/IT/ES separately

What This Changes in Our Automation Build

1. Weekly Digest Must Report by Country/State

Not "EU ROAS 3.2x" - the digest needs Germany, Nordics, Ireland, Italy, Spain as separate line items. Same for US: CA, FL, NY, TX, WA at minimum.

2. Dayparting Rules from Day 1

  • US: 30-35% budget on Tuesday, primary window 11am-2pm ET
  • EU Germany: 35-40% budget Fri-Sun, peak Sunday, 6-9pm CET
  • EU Nordics: 25-30% budget Wed (SE), Thu-Sat broader, 5-8pm local
  • Italy: Tuesday 7-10pm local
  • Spain: Friday 7-10pm local

3. Creative Fatigue Must Be Market-Specific

The Michelin creative is the universal anchor but will fatigue at different rates in different markets. Our fatigue detector must track frequency per geo, not just per ad. An ad at frequency 2.0 globally might be at 5.0 in Germany and 0.8 in Spain.

4. Suppression Lists

  • Discount-only buyers excluded from all prospecting (EU rule 3)
  • MI and OR excluded from any discount campaigns (loyalty protection)
  • WA excluded from discount campaigns ($152 full-price AOV)
  • Norway excluded from discount campaigns (EUR202 AOV)

5. Fish Creative Geo-Fence

Kinda Cod and Kinda Salmon creative runs ONLY in CA, WA, OR (US) and broadly in EU (where pricing is EUR19.99). This is a hard campaign geo-restriction, not a bid adjustment.

6. Shopify Export Enhancement

Add to export-shopify-data.py:

  • Discount code field in order export
  • Map codes to LTV and repeat rate
  • Flag CHEEKYMARBLS / COUNTMARBULA / LATETOSCHOOOL cohorts separately
  • Segment B2B/wholesale codes (Custom discounts, 234 uses) out of D2C reporting

Immediate Next Steps

  1. Connect Meta API - pull campaign structure to see which D2C Focus recommendations are already live vs. untested
  2. Build geo-segmented digest - implement country/state breakdown in weekly report template
  3. Code the dayparting rules - Tuesday US, Sunday DE, Wednesday SE as budget concentration rules
  4. Add discount code analysis to Shopify export
  5. Create suppression list workflow - discount-only buyers, market-specific exclusions
  6. Update ad copy generator - pre-load German, Italian, Spanish seed copy from the doc

Data Quality Assessment

What's reliable: Order volumes, revenue, AOV, repeat rates, discount rates, email opt-in rates, gender splits, city-level order counts. This is first-party Shopify data - it's the source of truth.

What's assumption: Target interest lists (Meta audience targeting suggestions), ad timing windows (inferred from order timestamps, not ad engagement data), creative angle recommendations (untested hypotheses until we see Meta performance data).

What's missing: Current ad account performance, competitive benchmark data, historical ROAS by market, creative test history, Klaviyo email performance metrics.

This analysis should be re-read after the first Meta audit completes. Many of the "missing" items will be filled by actual campaign data.