00 Notes
Notes on Google Ads, Meta Ads,
and tracking.
Short essays. No marketing-blog filler. If a post can be one sentence, it is one sentence.
All 49 topics
01 All posts
-
Your blog posts will not get your product recommended
Agentic storefronts are on by default for eligible Shopify stores. What gets a product surfaced is the catalog data layer, not the content pages most brands are writing.
-
The field your Google Ads audit is reading is the wrong one
conversion_action.primary_for_goal is legacy and will make a clean account look broken. The conversion-goal layer is what actually decides what Smart Bidding buys.
-
The quarter you plan the year around is your weakest one
Three years of purchase-only data from one account: the fourth quarter carried the most volume and the worst return on ad spend, both years I could measure.
-
The Foreign Hostname (Why I Check Where My Analytics Data Came From)
Four page paths in my analytics project have never existed on my site. A pitch mockup carried the same public key. The provenance check that finds it.
-
The Preview Flag (Why I Check the Ad Destination Before a Campaign Spends)
A landing page can be live, fast, and finished-looking while recording nothing. One meta tag decides it. Here is the six-step check I run before any campaign spends.
-
What a fractional marketing lead actually costs in 2026
The 2026 price bands for a fractional marketing lead and a fractional CMO, what moves the number, and how it compares to an agency, freelancer, or hire.
-
The Shopify Event With No Subscriber (What I Found Auditing My Own Build)
A Shopify theme snippet published a lead event nothing subscribed to. The conversion was Primary, counted, and recording zero. The audit and rewire.
-
The Ad Manager Job Is Going Away. I Know Because It Was Mine.
An honest account of the system I run, what it has produced, where it breaks, and why marketing gets bought as a subscription rather than as hours.
-
44 Agents Tried to Break My Case Studies. Three Succeeded.
I reviewed my own five case studies and passed clean. Then 44 AI agents were told to refute the copy. They found 38 problems. Here is what that means.
-
Cost Per Lead Is the Wrong Number for Home Services
Cost per lead is the wrong number for home-services ads. How to compute cost per booked job, and why the cheap lead usually loses.
-
I Dismissed 1,476 of Google's Ad Recommendations Last Week
Dismissing a Google Ads recommendation raises your Optimization Score, the same as accepting it. I cleared twenty accounts by dismissing 1,476.
-
What a Home Brand's 21x ROAS Actually Hides
Two home brands I run report 21x ROAS. A Shopping campaign that is 18% of the spend produces 52% of the revenue. Why the blended number lies.
-
The inbox is a catalog surface, and most home brands waste it with a stock template
Five Klaviyo flows and 21 hero emails on seven custom room scenes for a $3,000-AOV furniture brand. Abandoned checkout is the cheapest revenue.
-
One hero shot loses the sale: the four product angles every furniture PDP needs
A 3/4 hero shot leaves a furniture buyer guessing on depth, edge profile, and joinery. The four white-background angles a PDP needs, and why.
-
The $30K Shopify rebuild you probably don't need
An agency quoted a home brand $30K and 12 weeks to rebuild its Shopify store. A facelift on the existing theme got most of the result. Here's the line.
-
Shopify Storefront Audit: My 6-Pass Method
My six-pass Shopify storefront audit covers technical SEO, content, mobile UX, AI discovery, competitive positioning, and site architecture.
-
Your AI Agent Doesn't Need a Brain
An operator's read on the agent-memory hype, and the plain-files tool I built instead of buying one.
-
The content engine behind a Shopify home brand's blog (and the rule that blocks half its own ideas)
The nine-agent content engine I built for a Shopify home brand, and the rule that matters most: no post publishes unless it links a real product.
-
I paused all paid media in one state for 21 days. The incremental lift was 38%, not the 92% the attribution report claimed.
Attribution reports measure correlation, not incrementality. The 21-day geo holdout I run to separate paid revenue from revenue you had anyway.
-
The 4 numbers I put in a $20M home brand's next board deck on paid (and the 3 numbers I cut)
Your board needs four paid-media numbers that map to decisions, not eleven that map to nothing. The memo I send CMOs the week before the meeting.
-
New-customer CAC $127. First-order margin $95. The cohort payback curve that tells me whether to scale.
Blended CAC hides the cash math. The weekly new-customer payback curve that tells a Shopify home brand whether the next budget increase funds growth.
-
Your catalog photo budget is the CVR bottleneck (the 2026 math on lifestyle photography for Shopify home brands)
A $40K photoshoot used to be the only way to refresh a 150-SKU furniture catalog. The 2026 math on lifestyle render pipelines, and where it breaks.
-
Nine GTM Tags in 90 Minutes (the build I used to bill $2K for)
Ninety minutes, nine GTM entities, one orphan cleaned up. The tracking-stack build I used to bill $2K for, run with API tooling on my own container.
-
The CLOSE Audit: the 5-pass lead-quality walkthrough I run before I touch a service-business account (2026 edition)
Smart Bidding finds more of whatever signal you feed it. The named audit I run on a service-business account before changing a single campaign.
-
Closed-won to Google Ads in 48 hours: the offline-conversion pipeline I run on every service-business account (2026 edition)
The webhook pipeline from HubSpot to Google Ads and Meta CAPI so bidding optimizes against paying customers. Trigger, payload, code, failure modes.
-
Your ROAS is inflated by shipping and discounts (Smart Bidding is optimizing for the wrong number)
Most Shopify Purchase events send gross revenue to Google Ads, so Smart Bidding chases high-shipping orders. The four-step fix takes ten minutes.
-
Why I Run Six Performance Max Campaigns Instead of One
One Performance Max campaign is the default. The geo and value-band matrix I run instead on a mixed-catalog account with a hyperlocal pocket.
-
I Kept the Blog Every Senior Operator Quit
The senior-operator blog playbook collapsed in 2025. Plofker, Faris, Holiday, Aslam, Bandholz all pivoted off written essays. Here is why I am staying.
-
The Bing pixel that said YOUR_VALUE_HERE
One afternoon in an inherited Shopify tracking stack: two GA4 properties, four duplicate scripts, and a Bing pixel firing placeholder text since November.
-
The Click Text Trigger Trap (Why I Rebuilt My Own Tracking Last Week)
Most GTM setups fire conversions on a button labeled 'Book a call.' Change the copy and tracking dies silently. The audit and rebuild on my own site.
-
Free PDFs Without an Email Gate: How the Funnel Actually Works
Giving away a PDF with no email capture still works as a funnel. It runs on pixels and the document itself rather than on email drips.
-
The $32.99 order that reported as $148.95 (the Customer Lifecycle Value setting that inflates Google Ads revenue)
A $32.99 Shopify order showed up in Google Ads as $148.95. The dataLayer was clean. The cause was a setting most agencies leave on by default.
-
I ran AI Max for two weeks against a manual campaign. The lead-quality delta.
A two-week head-to-head test, one service-business account. AI Max returned 41% more form fills and 73% fewer qualified leads. Here's the full breakdown.
-
The STACK Audit: the 5-layer pass I run before I touch a single bid (2026 edition)
An inherited Shopify tracking stack, $40K a month through Google Ads, and seven things broken. The audit I run before moving a budget dollar.
-
Max Clicks, 0 conversions: the bot-traffic pattern I see in 7 of 10 audits
Zero conversions, a Max Clicks bid strategy, and Clarity replays showing 5-second sessions with no scrolls. Bots, and the pattern is everywhere.
-
The five reasons Google Ads throws 'No recent enhanced conversions' (and the one that actually matters)
The yellow 'No recent enhanced conversions' alert in Google Ads has five common causes. Four are noise. One quietly costs you bidding signal for months.
-
1,247 'remarketing' clicks. 14 from actual past visitors. (The Optimized Targeting trap)
I audited a Google Display campaign labeled retargeting. 98.9% of the traffic was cold. The cause was one setting almost nobody checks before launch.
-
I switched a law firm off Max Clicks last quarter. Same spend, 72% qualified leads instead of 38%.
More clicks, fewer sales. The bid-signal rebuild that moved qualified leads from 38% to 72% on the same $14K a month, by optimizing for revenue.
-
The Operator's Checklist for Spotting AI in Your Own Writing
If you write with an LLM in the loop, your published copy probably has tells you can't see anymore. Here's the checklist I run before anything ships.
-
Why Performance Max Gets Credit for Shopping Conversions (And What to Do About It)
If Performance Max is getting credit for conversions that started with your Shopping campaigns, your data is not broken. Here's what's actually happening.
-
The Workflow That Lets Me Ship a Site in 24 Hours
Most senior operators still type at 60 words per minute. The bottleneck is the input. The workflow that compresses a two-week build into a day.
Want one of these on your account?
One strategy call. Direct. No account managers.
Thirty minutes on the phone. Bring the account, the goals, the story. Walk out with a clear set of next steps.