An account manager filters every decision
You write it between fires
I write the program. You sign off.
I own the path from ad click through checkout, with the campaigns and catalog measured as one system. Plus a built-in lifestyle photoshoot pipeline, so new SKUs get scenes in days, not weeks.
The deep specialty inside the full ecommerce practice.
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 The full program
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.
I write the plan for positioning, channel budgets, and what to test next. I set the monthly targets for the catalog and campaigns, then review them with you.
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 Honest comparison
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
Lifestyle studio shoot run 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 Four ways in
Start small with a two-week Catalog Sprint, commission a full Lookbook Sprint, grow into the imagery and Shopping retainer, or step straight into the full DTC program. Each tier is a clean handoff into the next when you're ready.
Ten lifestyle renders of your top SKUs plus one Meta ad set live in 14 days.
Brands who want to see the work before committing to a retainer. Test-the-water engagement that pays for itself if one ad set lifts catalog ad performance.
A one-time lifestyle imagery library for your top SKUs, produced through the in-house pipeline.
Brands stuck on bare-product photos. New brands launching with the catalog at zero.
Quarterly imagery refreshes plus the Google Shopping, PMax, and feed-engineering program.
3 month minimum
Brands launching SKUs each quarter that already run Google Shopping but aren't getting the imagery cadence right.
Strategy, channels, tracking, reporting, and the operating cadence around them, led directly by me.
6 month minimum
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 Catalog Lifestyle Gap Audit if you've seen enough.
The 5-phase production system
Phases 00 and 03 halt for your approval. Phases 01, 02, and 04 run end-to-end. 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 feeds into the image model. 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. The constitution turns the art-direction decisions for 200 SKUs into fixed inputs.
"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 a real brand constitution. Yours will differ. That's the point.
The 99% fidelity engine
Six safeguards. Every batch runs through all six.
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
Sixteen products from two real catalogs, one furniture brand on Shopify and one vanity brand on WooCommerce. 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. The hardware and joinery stay faithful to the source.
Dawson entertainment console
Cheltenham chair, blue velvet
Keswick club chair, antique leather
Reclaimed pine, double-arched bookcase
Large cabinet, glass panel doors
Garcia armchair
York open-shelf washstand
Tarbes tall mirror
Rhone swivel chair, Belgian linen
Winfall farmhouse-sink vanity
French casement media console
Hampden hand-carved arched mirror
Lincoln carved double vanity
Lori four-drawer chest
Single vanity with drawers
Salford serpentine chest
Meta Ads method
I start with the catalog and the purchase signal, then build the creative system around how considered home purchases happen. The ads below came from that workflow, for two home brands I run: the furniture catalog above, and a reclaimed-wood vanity brand on the same pipeline. Each set was generated and laid out inside the engagement that runs its campaigns.
Feed and signal
Clean catalog fields, Pixel and CAPI agreement, purchase values checked against Shopify, and prospecting separated from retention.
Creative system
Lifestyle scenes built from real product references, then tested by room, product, copy angle, and offer without breaking the visual spine.
Buying-window measurement
I read assisted demand and delayed purchases against blended revenue. A four-figure furniture order rarely behaves like an impulse checkout.
The 150-SKU furniture case study shows the catalog and imagery foundation behind this system. It documents the storefront build, not an ad-performance claim.
Ten concepts across two brands. The products and rooms change, but each brand's visual spine stays fixed. I vary the offer and copy to test what moves demand. Once a brand constitution is locked, new ads ship in days. The same operator who renders the imagery sets up the campaigns.
Ship to Google Merchant without flinching
The model layer applies the compliance rules before an image reaches review.
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 FAQ
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 and current performance numbers. You leave with a written plan.