An account manager filters every decision
You write it between fires
I write the program. You sign off.
One senior operator running your DTC program: Google Ads, Meta Ads, feed engineering, tracking, weekly strategy. Plus a built-in AI lifestyle photoshoot pipeline that ships scenes at catalog velocity, so the imagery is never the bottleneck.
01 The math
Two hundred SKUs at $1,500 each is $300,000 of studio photography. Six weeks per shoot means new SKUs sit in your warehouse before they reach a feed. Meta catalog ads underperform because half the inventory ships with bare-product imagery. Google Shopping quietly suppresses the rest. Meanwhile the agency you hired has a junior on your account learning Google Ads on your spend.
02 What's included
What an agency splits across four juniors and a project manager, I run as one program. The lifestyle photoshoot is included. The work is the marketing strategy and the campaigns that imagery feeds.
A written program plan you can hand to your board: positioning, channel mix, growth thesis, KPI commitments. Reviewed monthly.
Search, Shopping, PMax. Account structure, feed engineering, exclusions, intent themes. A decade and $15M+ managed on these keys.
Catalog ads, DCA, prospecting + retention split. Pixel and CAPI repair. Creative testing on the new imagery.
The studio shoot, run inside the engagement. Brand constitution, 99% fidelity, audit trail. Production exhibit below.
Shopify metafields, Merchant Center health, Meta catalog hygiene. The plumbing the ads run on.
GA4, GTM (server-side where it earns its keep), Ads ↔ GA4 reconciliation, weekly written summary on Monday.
03 Side by side
An account manager filters every decision
You write it between fires
I write the program. You sign off.
A junior on five other accounts
Hire a specialist at $90K+
Run by the same operator on the call.
A different junior
A second specialist
Same operator. Same call.
Outsourced. Surprise invoice.
Studio days + a photographer retainer
AI studio shoot, in-program. 99% fidelity, audit-trailed.
Out of scope until you ask
Nobody owns it
Built into the engagement.
A screenshot deck on Fridays
Your developer, when free
GA4 + GTM + ROAS reconciliation, written weekly.
Routed through the account manager
Yourself, exhausted
Yes. Same person every call.
04 Packages
Start with a one-time imagery sprint, grow into the imagery + Shopping retainer, or step straight into the full DTC program. Each tier is a clean handoff into the next when you're ready.
One-time AI studio shoot. I build your brand constitution and ship a finished lifestyle imagery library for your top SKUs.
4 to 6 weeks
Brands stuck on bare-product photos. New brands launching with the catalog at zero.
Quarterly imagery refreshes plus the full Google Shopping / PMax program and feed engineering. The acquisition workhorse.
Monthly retainer
Brands launching SKUs each quarter that already run Google Shopping but aren't getting the imagery cadence right.
The fractional CMO seat. Strategy, Google, Meta, imagery, tracking, reporting. One operator running the whole program.
Monthly retainer
Brands ready to replace the agency model entirely.
The numbers above are the floor. Final scope confirmed on the 20-minute call after I've looked at your catalog and feed.
05 Inside the imagery engine
Most agencies outsource imagery to a studio and bill it through. Here it's built into the program. What follows is the mechanical exhibit for buyers who want proof under the hood. Skip to the audit if you've seen enough.
The 5-phase production system
Phases 00 and 03 halt for your approval. Phases 01, 02, and 04 are automated. Nothing ships to your store without you signing off.
Eight anchor images, one per scene template. You approve the set. That set becomes the locked visual contract for every render after.
I read your Shopify catalog via API. Build a structured manifest: handle, title, type, dimensions, materials, scene-template match.
Your brand constitution + the matched scene template + per-product subject block goes to Gemini Image 3. PNGs land in staging.
A review batch HTML pairs each staged image with its source product photo. You approve or reject per image, line by line.
Approved scenes push to Shopify via GraphQL productCreateMedia. Appended to the gallery. Never replaces your primary catalog photo.
Brand constitution
A JSON spec I write with you in week one. It defines your brand visually: light, palette, architecture, props rules, composition, atmosphere, forbidden territory. Every batch after week one reuses it.
Every render merges this constitution with a matched scene template and a per-product subject block. Consistency at 200 SKUs is not an art-direction problem after that. It's a data problem I already solved.
"brand": "Your brand",
"light": {
"source": "single window natural",
"kelvin": 3200–4200,
"time": "late afternoon, golden hour",
"forbidden": ["overhead flat", "strobe"]
},
"palette": {
"cream": "#f5f0e6",
"caramel": "#9c7a4e",
"warm_brown": "#2a1e15",
"forbidden": ["pure white", "jewel tones"]
},
"architecture": {
"walls": "aged plaster, matte",
"floor": "wide-plank aged oak",
"anchor": "baseboard or doorway always visible"
} Snapshot from Emma Grace Home's constitution. Yours will differ. That's the point.
The 99% fidelity engine
Six mechanical safeguards. Every batch passes through all of them. No vibes.
Your catalog photos passed as inline image data on every generation call, not just text descriptions.
Per-product list of must-preserve details (hardware, joinery, finish, proportions, edge profile) injected into every prompt.
Width-to-height ratios computed from your dimensions string. Generation rejected if rendered ratio drifts more than 5%.
Every scene contains a known-size element: baseboard at 6 inches, door at 80 inches, window sash at 36 inches. Forces correct scale on the subject.
After generation, a separate model scores the image on FEATURE, PROPORTION, and COLOR each 1–10. Below threshold, it auto-retries with corrective notes.
Every approved image carries a content-addressable hash of the exact prompt, brand constitution version, and references that produced it. Audit trail.
Source Rendered
Twelve products from Emma Grace Home. Each row pairs the catalog product photo I sent the model as the fidelity anchor with the lifestyle scene the model returned. Same piece, every time. No swapped hardware, no invented joinery, no drift.
Dawson entertainment console
Cheltenham chair, blue velvet
Keswick club chair, antique leather
Reclaimed pine, double-arched bookcase
Large cabinet, glass panel doors
Garcia armchair
Tarbes tall mirror
Rhone swivel chair, Belgian linen
French casement media console
Hampden hand-carved arched mirror
Lori four-drawer chest
Single vanity with drawers
From render to ad
The renders don't sit in a folder. They ship into Meta as finished ads: brand profile, ad copy, link preview, Shop Now button, the lot. Below: five live Meta ads for Emma Grace Home, generated and laid out inside the same engagement that runs the campaigns. No agency middleman, no creative re-brief, no version drift.
Five concepts. Different products, different rooms, different palettes. Same brand visual spine across every ad. Different copy, different offers, different angles for testing. Once your brand constitution is locked, this is what creative velocity looks like: ad-ready output in days, not weeks. And the same operator who renders the imagery sets up the campaigns.
Ship to Google Merchant without flinching
Compliance is wired in at the model layer, not bolted on after.
Every PNG carries IptcExt:DigitalSourceType = trainedAlgorithmicMedia, the disclosure Google has required since 2024. The Q3 2026 C2PA-for-all-creative requirement is already baked in.
Watermarking and content provenance baked in by the model, preserved end to end. Not stripped on upload.
Generated alt text discloses the image as AI-rendered. Shopify and Meta both accept this; it protects you on consumer-protection compliance.
Renders push to the gallery only. Your primary catalog photo stays the real product. Lifestyle scenes earn the secondary slots.
Living designer names (the ones at risk in Andersen v. Stability AI) are stripped from prompts before they reach the model. Style without legal exposure.
Auto-rejects faces, hands, text, logos, seals, alcohol, weapons. Catalog-safe by construction.
“I’ve lived many rodeos. This is no noise. Just results.”
06 Questions
07 Free audit
Drop your Shopify URL. Within 72 hours you get back a 5 to 7 page PDF: image-coverage audit, alt-text gap analysis, your top SKUs ranked by imagery investment, two competitor snapshots, and one sample lifestyle render of your worst-offender SKU done through the production pipeline.
Free. No call required. Built from public Shopify data only; I don't need backend access. The CTA at the end of the PDF is to book a 20-min walk-through if you want to talk through the findings.
Ready to talk
Twenty minutes on the phone. Bring your catalog, your current photography spend, your feed performance. Walk out with a written plan.