1368
Stanford graduate. For the past decade I’ve been advising and consulting marketing strategies for the boards of DTC businesses like Onnit, Goli, Obvi, Mudwtr, Prestige Labs (Alex Hormozi brand), Mr. Davis, Scanlan Theodore. ◾️Work inquiries - tegra.co
AI shopping traffic to US retail jumped nearly 400% this year. Your product feed just became your most important API.
Most operators still treat the feed as a Google Shopping chore. Titles, GTINs, the stuff you fix when disapprovals pile up. That mental model is about to cost people real revenue.
Here's what shifted in the last two quarters. AI referral traffic to US retail is up nearly 400% year over year. Traffic to Shopify stores from AI search is up around 8x, and orders from it close to 13x. eMarketer pegs AI-platform retail spend at almost $21B in 2026. The buyer is increasingly a model, and the model reads your feed.
Two rival rails are now live for this. OpenAI and Stripe shipped ACP - checkout right inside ChatGPT. Google's coalition is pushing UCP into AI Mode and Gemini. Shopify's Winter release syndicates one catalog out to ChatGPT, Perplexity, and Copilot. Same product data, many more surfaces consuming it.
So I've started restructuring feeds for a reader that isn't human.
A person scans an image and a price. A model parses structured attributes and makes a judgment call about fit. That means the fields most brands treat as optional are now the whole game: material, use case, compatibility, dimensions, what problem the product solves, who it's wrong for. The feed has to answer the question the shopper asked the AI, not just match a keyword.
The discipline transfers almost perfectly. The same Merchant Center hygiene that wins Shopping - clean attributes, accurate GTINs, rich product types, structured data on the PDP - is what gets a product surfaced and cited inside an AI answer. One asset, two channels, and the second channel is growing triple digits.
What I'm doing on accounts right now: auditing feeds for attribute completeness against the questions buyers actually ask, not against Google's minimum required fields. Adding the "who is this not for" data models use to qualify. Treating the PDP and the feed as one structured object a machine has to understand in full.
The brands that win the next two years are the ones whose product data is legible to a machine deciding what to recommend. I'd rather rebuild the feed now, while the traffic curve is still early, than explain to a brand in 2027 why they went invisible to the buyer that grew 400% in a year.
Everyone's posting AI ad wins this month. The median DTC brand makes $2.04 per $1 of ad spend. Let's talk.
My feed right now is a wall of screenshots. Agent built 5 ads in 5 minutes. $155K to $242K in 30 days. A €1.4M Shopify dashboard. All real, probably. All survivorship.
Here's the aggregate the highlight reel skips. Average e-commerce ROAS in 2026 sits around 2.87:1. The median is 2.04:1. Mid-market brands watched ROAS drop close to 10% year over year while fixed marketing costs climbed about 30%. Net margin for most DTC brands lands between 3 and 10%.
Sit with the median for a second. $2.04 back on $1 spent. After COGS, fees, shipping, and the platform's cut, that's a business running on fumes. No agent fixes a 2x ROAS account by making more ads faster.
The reason "just add AI" doesn't move it: the problem usually isn't the volume of creative. It's unit economics the ad account can't see.
Take a typical 2x account where the owner is convinced he has a creative problem. AOV $40, blended CAC $38, repeat rate under 20%. The first purchase is break-even at best, and the whole business is leaning on a second order that isn't coming. No amount of new creative fixes that.
The lever is the post-purchase flow, the bundle AOV, and the freight line. Move those and blended ROAS barely budges while contribution margin per order can nearly double. That's the number that pays salaries.
More AI ads would've poured faster water into a leaking bucket.
Creative volume is the cheapest input in the stack now. When everyone's agent makes 50 ads a week, ad output stops being the constraint. The constraint walks back upstream to the offer, the margin, and the second-order economics - the stuff no model can see from inside the ad platform.
The AI wins on your timeline are real. They're also the 5% who already had the unit economics to survive scale. For the median 2x brand, the gains come from the boring math under the ad account, not from running the ads faster.
Google Ads API: Major Changes in Product Reporting from June 15, 2026
Google has announced a long-awaited update - product reporting will become transparent for all campaign types, not just Shopping and partially Performance Max.
What will change?
1. Extended metrics for shopping_product - cost_micros and conversions will now be available for Video, Demand Gen, and App campaigns. Previously, only impressions and clicks could be extracted there, making it practically impossible to assess the effectiveness of a product outside of Shopping/PMax.
2. A single point for reporting - shopping_performance_view - all types of campaigns using Google Merchant Center will return data through this view. No more "hacks" for collecting metrics from different places.
3. Transparency of networks in Performance Max - shopping_performance_view will start returning data for all PMax networks, not just selected ones. Be prepared for a one-time jump in figures in the reports - this is not a bug, but finally a complete picture.
Important nuance: historical data before June 15, 2026 will not contain the new metrics. That is, year-on-year comparisons for PMax after this date will have an asterisk - your dashboards and automatic scripts will need to be either calibrated or marked with a change in methodology.
What to do now?
- Review your own scripts and GAQL queries that pull product statistics
- Be informed about a possible "jump" in Performance Max
- Consider how to correctly merge data "before" and "after" June 15
I built an agent that spins out 5 Meta ads in 5 minutes.
Then it hit me: so can the agency across town, and so can your competitor's intern.
Creative volume just dropped to zero marginal cost. When anyone can generate 50 ads a week, the ad itself stops being the scarce thing.
What's scarce now is knowing which 5 of those 50 deserve spend. That read comes from watching a thousand of them live and die in real accounts, not from a better prompt.
The model makes the ad. It still can't tell you which one the market will pay for. That's the job that didn't get automated this year.
Two hours per competitor to manually outline what they're running.
I needed that refreshed for 20+ brands, every week.
The arithmetic on that is a full-time analyst doing nothing else.
That's why I built the system.
SERP APIs scrape every live Google ad variant in the market - headlines, descriptions, sitelinks, callouts, landing pages, the full creative inventory across every keyword cluster. Meta Ad Library pulls every active creative, the landing page behind it, the refresh cadence, and how long each variant has been spending against impressions.
An agentic loop normalizes the corpus, scores positioning against the competitive set on a 100-point differentiation index, flags new entrants since the last refresh, and surfaces the angles nobody in the set is running yet.
One sweep: ~5,000 Google ads + ~9,000 Meta ads, analyzed across 20+ brand-by-market combinations. The version of this I used to do by hand was two weeks of an analyst's time. The loop finishes it before my coffee's done.
The screenshot above is the actual output from this morning. Differentiation Score per brand. Blue Ocean band per market. Notes on what shifted since the last refresh. "Tide launched 132 new ads since prior" is the line that changes how I run Shopping for a brand competing in the same SKU. "Sephora Meta 3 to 49" tells us a category leader just multiplied their creative volume across one market by 15x.
Every Google and Meta campaign me and @andreilunev write for the brands we run at @hellotegra starts from this output. We read the differentiation snapshot, then the per-brand notes, then we open the underlying creative library to look at what the new entrants are actually testing.
The bidding strategy, the creative angles, the negative keyword work, the audience structure - all of it sits downstream of what the competitive set is doing this week.
It's not just a snapshot either.
The same loop monitors the set continuously. Last month it flagged a competitor testing a new landing page angle. We had our counter version live within a week, before they'd finished proving theirs out.
When a competitor refreshes 130 ads, the auction shifts. When a category leader multiplies their creative output 15x, the cost curve moves.
A strategy that ignores the live competitive set is solving a problem from 90 days ago.
This is the layer most performance teams skip, because the manual version doesn't scale past two or three brands. Three of us run that depth across all the brands every week because the system above does the analyst work.
The forward-deployed engineer role Lenny is describing already exists in ads ops. Nobody is calling it that.
Dan Shipper's thesis from the Lenny podcast: AI agents will create massive new demand for SaaS seats. Not kill SaaS - generate demand. Agents need tools. Tools have seats.
Correct. But there's a filter most product people aren't naming.
The SaaS tools that capture agent-generated demand are the ones instrumented for non-human session patterns. An AI agent querying the Google Ads API doesn't behave like a human analyst refreshing a dashboard. It fires API endpoints at a different scale, in sequences no human click-flow produces, touching attribution data at a frequency that exposes every assumption baked into your conversion event taxonomy.
If your event schema was built for human traffic, agent traffic will produce wrong attribution signals at scale.
Silently.
I read Google Ads API docs like source code - looking for what the endpoint actually fires, not what the documentation says it does. Dev (8 years) before marketing (8 years). That combination is why I build API-level tooling for ad ops instead of managing dashboards.
The forward-deployed engineer in the ads stack sits between the MMP or Ads platform API and the bidding algorithm.
Job: postback architecture, conversion event taxonomy, API key management, signal quality at non-human I/O velocity. In DTC, SaaS, local services - this person determines whether your AI agent's campaign management produces ROAS gains or data corruption.
Three of us manage $10M+ in ad spend. The tooling is built at the API layer, not the UI layer.
The seats flowing to agents are already flowing - to operators who own the instrumentation layer. The ones who only own the dashboard layer are about to find out why that distinction matters.
You can reverse-engineer any competitor's Google Ads strategy in 10 minutes.
I do this for every new client. It's also something 90% of advertisers have never done once.
Here's the 5-step process:
Step 1: Find your real competitors.
Go to Insights & Reports > Auction Insights. Click into your best campaigns and ad groups. Look at impression share, overlap rate, and outranking share.
This shows you who's actually competing for your most valuable keywords. Not who you think your competitors are - who Google says they are. These are often very different lists.
Step 2: See their entire ad playbook.
Google Ads Transparency Center. Free. Plug in their brand name. Filter by region, format, and date.
You can see every live ad they're running. Their messaging. Their offers. Their creative formats. Whether they're using video, images, or just text.
This is their entire strategy laid out for you. Most brands don't even know this tool exists.
Step 3: Find abandoned keywords.
This requires SEMrush. Go to their domain > Paid Keywords > Position Lost.
These are keywords they used to bid on and stopped. Why did they stop? Maybe the CPA was too high for them. Maybe they shifted strategy. Either way, these are open lanes you can test for a fraction of the competitive cost.
I've helped clients capture six-figure revenue from competitor abandoned keywords alone.
Step 4: Analyze regional strategies.
Back in Ads Transparency, filter by location. Smart competitors geo-target aggressively with different offers per region.
If your biggest competitor isn't bidding in certain cities, that's an open lane. I've found entire markets where the top 3 competitors had zero presence.
Step 5: Exploit the gaps.
Go back through everything and ask: what aren't they doing?
No video ads? PMax and YouTube are wide open.
Generic Shopping photos? Lifestyle shots clear the field.
Lazy product titles? Intent-based titles outrank them.
Traffic dumped on the homepage? Dedicated landing pages take the conversions.
I do the above on auto with AI agentic system with APIs connections, but manual gets the same result. Just slower.
I never run this to copy a competitor. I run it to find the lane they left empty and build there before they notice.
Everyone says start with Shopping.
That's not always right.
The standard advice: Shopping campaigns are the best starting point for e-commerce. High intent. Product visibility. Let the algorithm work.
For some brands, that's true. For others, it's a fast way to burn money.
Here's when Shopping makes sense:
- You have healthy margins (40%+ gross). Shopping is competitive. If you can't absorb CPC pressure, you'll lose the auction or lose money winning it.
- You have strong product imagery. Shopping is visual. If your photos don't compete, neither do your ads.
- You have competitive pricing. Shopping is a comparison engine. If you're priced 20% higher with no differentiation, you'll get impressions but no clicks.
- You have enough SKUs. Broad catalogs perform better than single-product stores in Shopping.
Here's when Search makes more sense:
- Thin margins. Search lets you control exactly which keywords you bid on. You can target high-intent, low-competition queries that Shopping's algorithm might ignore.
- Custom or unique products. If people don't know to search for your exact product, Shopping won't find them. Search lets you target problem-aware queries.
- Strong landing pages. Search rewards good conversion experiences. If your product pages are weak but your custom landers convert, Search gives you more control.
A DTC furniture brand I ran started with Search on intent-based keywords instead of Shopping, because their margins were thin and their photography couldn't win a comparison grid.
We targeted competitor-aware queries ("X alternative"), solution-aware queries ("best standing desk for small spaces"), and problem-aware queries ("back pain from sitting"). Each keyword landed on a custom page built to match that exact intent.
Conversion rate went from 1.3% to 2.8% in five weeks. 115% revenue lift on the same budget.
Shopping came later, once we had the conversion data to build the feed against real buyer behavior instead of guesses.
The framework I run before either one: check margins, imagery, pricing, and landing pages. All four strong, I start with Shopping. Any one of them weak, I start with Search, bank the conversion data, fix the gap, then layer Shopping on top of a funnel that already works.
Most accounts that burned money on Shopping out of the gate had a thin-margin or weak-imagery problem the channel was never going to fix. The channel was fine. The starting point was wrong for their numbers.
Google can't tell your $100K deal from your $5K deal. By default it bids on both like they're worth $1.
Here's the part most teams miss.
Smart Bidding is a regression model. It optimizes toward whatever conversion value you hand it.
Hand it nothing, and every form-fill is worth exactly 1.
So the bidder learns which keywords, audiences, and devices produce the most form-fills. Not the most revenue.
It will happily pour budget into the segment that books cheap demos that never close, because to the model, a tire-kicker and an enterprise buyer are the identical event.
The fix is wiring CRM closed-won value back to the bidder. Offline Conversion Import plus Enhanced Conversions for Leads. The value you upload is the actual deal amount, not "1 lead."
That's when tROAS finally bids on revenue truth instead of demo count.
Across the SaaS accounts I audit, the same misconfig repeats: offline conversions are firing, the team thinks the loop is closed, but every record carries a flat value. The wire exists. It's just carrying a constant.
A closed loop that uploads the same number on every deal is value-blind. It just looks solved on the dashboard.
Now the deadline.
The GCLID-only path most teams built this on, the UploadClickConversions API endpoint, is being deprecated June 15, 2026. Google's Data Manager API (live since December 9, 2025) is the replacement.
Two more things that quietly break this loop:
Google keeps a GCLID for only 90 days. If your sales cycle runs longer, the click is gone before the deal closes, and the conversion never matches back. Enhanced Conversions for Leads (hashed email, 63-day window, value-adjustable up to 55 days) is what survives a long B2B cycle.
And in the EEA, Consent Mode v2 silently discards offline records that arrive without consent flags. The upload succeeds. The record never lands.
Google's own published number: Enhanced Conversions for Leads plus offline import returns about 10% more measured conversions than GCLID-only.
Here's the contrarian part. "We have offline conversions set up" is not the same as "our bidder optimizes on revenue." Most SaaS teams I see have the first and assume it means the second.
The nexum thesis, plainly: Google sees form-fills. Salesforce sees closed-won. The two never talk by default. The wire between them is the actual work, and right now that wire has a migration deadline on it.
If you want to see which side of this your account is on, the free AI Max Audit (tegra.co/agents/google-ads-agent) flags whether your offline conversions fire pipeline-value-weighted or just demo-booked. The full rebuild (Data Manager API migration, value mapping, the ECL hashing layer) is what the Google Ads AI Agentic System runs end to end.
I'm migrating three accounts off UploadClickConversions before the cutoff. The build is two days. Getting RevOps to expose the right closed-won field is the part that takes a week.
YouTube Ads Manager says 0.8x ROAS. The truth: 2.4x. Here's why it lies.
YouTube uses last-click attribution by default. That means it credits whoever closes the sale - not whoever started the journey.
Here's what actually happens:
Customer sees your YouTube ad. Doesn't buy. Googles your brand name two days later. Clicks a branded search ad. Doesn't buy. Sees your Meta retargeting ad. Clicks. Still doesn't buy. Goes directly to your site a week later. Buys.
Who gets credit? Direct traffic. Maybe branded search.
Who started that entire journey? YouTube. But YouTube shows 0 conversions for that sale.
This isn't a minor reporting gap. This is structural.
Haus.io ran 190 incrementality tests across multiple brands. YouTube drove 3.4x more incremental revenue than what Google Ads reported. The iROAS improved 80% in the post-test window alone - meaning there's a long tail of impact that platform reporting completely misses.
I see this pattern in every YouTube account I audit. Platform ROAS runs 40-60% lower than true ROAS, every time.
I almost killed YouTube for a client based on platform reporting. When I checked TripleWhale, YouTube's actual ROAS was 2.9x - not the 0.7x Google Ads showed. Every dollar I'd planned to cut was generating $2.20 nobody could see in the dashboard.
(That was the fastest I've ever reversed a budget decision.)
The fix isn't complicated. You need attribution software that tracks the full journey:
- Converge: $200-1K/month, tracks every touchpoint
- Triple Whale: $200-400/month, great for Shopify
- Northbeam: $500-1K/month, strong multi-touch
These tools pay for themselves 10x over. Without one, you're making budget decisions on fictional data.
Every client I've installed multi-touch attribution for has found the same thing: YouTube was their best acquisition channel the whole time, hiding under last-click. The client I almost cut is now my biggest YouTube spender.
Your YouTube is probably 3x better than your dashboard says.
Are we having fun in marketing, guys?
Here's last week's pre-sale page output:
164 written. 152 deployed straight to Shopify via API.
The breakdown:
34 advertorials
30 guides
23 listicles
23 comparisons
23 problem-solution
15 reviews
6 social proof
5 editorials
4 landers
1 story
Written, formatted, and pushed live through Shopify's API.
Not a single manual upload.
Not a single copy-paste into a CMS.
Here's what an agency would quote for the same job: 8-12 weeks, a team of 15, and an invoice north of $50K.
What actually happened: me and @andreilunev, one week, every page type, live in production.
One solid operator running AI systems now does what 10-20 people did a few years ago. I see it across every account @hellotegra manages.
- Competitor research runs weekly on its own
- Alerts and monitoring run 24/7
- Reporting writes and schedules itself
- The page generation and the Shopify deployment both run through systems, so the human time goes into judgment, not production.
We don't hire our way to scale - we build our way there.
The operators who refuse to build these systems are running accounts with one hand behind their back. The ones who do are managing 5x the accounts they handled two years ago, same quality, WAY more creative output.
If you're spending $30K+/mo on Meta or Google and your agency is giving you monthly reports and vibes instead of daily execution, we should talk.
Here's what changes when both founders personally execute your account.
Live in 3 days, not 21. Hundreds of new creatives per week, not per quarter. Campaign deployment through the API at speeds manual work can't match. Daily Slack so you're never guessing what happened to your budget. Bi-weekly strategy calls where both people on the call are the same people inside your account every day.
Month-to-month. No setup fees. No contracts. You own everything from day one.
Recent results: $800K to $2.1M in 90 days. CPA down 40%. ROAS from 1.6 to 3.8. Live numbers from accounts we manage right now.
Every month with the wrong partner is compounding underperformance you can't get back. The spend leaves your account either way. The only question is what it comes back as.
https://tegra.co/work-with-us
Every brand targets 25-34 on YouTube. The real money is in 60+.
People over 60 control $70 trillion in global wealth.
Average net worth for 65-74 in the US: $1.79M. Median: $410K. Discretionary spending: $6,000-8,000 per month. Paid-off mortgages. Zero student debt. No kids to support.
Now here's where it gets interesting.
They grew up watching TV commercials as part of the show. Not skippable. Not optional. Just part of the experience.
So when they see a YouTube ad, they do something your 25-year-old target audience never does.
They watch the whole thing.
No second screen. No Clash Royale on the side. No muting while they scroll Instagram. Full attention for 15-30 seconds straight.
(Adults 60+ account for 15% of total YouTube viewership - the largest single consumer demographic. That share has more than doubled in recent years.)
Then watch what they do after the ad ends.
A 25-year-old sees your $67 product. Opens 8 tabs. Reads Reddit threads. Watches comparison videos. Asks friends. Sleeps on it. Maybe buys in 3 days.
A 65-year-old sees your $67 product. Ad explains the solution. They buy right then.
They're not digitally native. They don't know how to efficiently comparison shop online. They trust the first credible thing they see on video - because that's how television worked for 50 years.
Most money. Longest attention. Shortest purchase funnel. Most trust in video.
And almost every brand I audit targets 25-44 exclusively.
You're fighting over people who mute your ads, open 8 comparison tabs, and have $847 in their checking account. Meanwhile the richest demographic on the platform is sitting there with full attention and a credit card ready.
Not a complex fix. I change the age targeting and test a creative built for their actual problems - the CPA usually drops on the first pass.
Most e-commerce brands have a Google Ads funnel with no top.
We audited 30+ accounts last quarter. The pattern was depressingly consistent.
Brand search doing 6-8x ROAS. Non-brand? Either nonexistent or bleeding money with no strategy behind it.
Google is the one platform where you can convert cold traffic on the first visit. Someone typing "organic protein powder for runners" isn't browsing. They're buying.
But you need a system.
The TOF machine has 3 layers:
1. Shopping campaigns targeting non-brand product searches. Your feed quality is everything here - titles, images, pricing. This is where most of your cold acquisition happens.
2. Search campaigns on high-intent long-tail keywords. Think "buy X," "X with free shipping," "best X for Y." Start exact match, then add 1-2 broad match per ad group to discover new terms.
3. After 90 days of data, build similar audience targeting. Use your converters as the seed. This is where you expand without guessing.
The mistake we see constantly: brands jump straight to PMax for prospecting. PMax is great - after you know what works. It needs training data from campaigns that already convert.
Start with Search + Shopping. Find your winners. Then feed those patterns into PMax and YouTube.
One of the accounts we manage went from $40k/mo to $100k+/mo in 60 days just by building layers 1 and 2. Same margins. They weren't bad at Google Ads - they just didn't have top of funnel.
Set your tROAS 20% below your profitable target.
Need 2x to be profitable? Set it at 1.6x.
Feels wrong. It's not.
At exact-profitable, the algorithm gets too conservative and kills volume. Give it room to explore. Overall ROAS still lands above breakeven.
Google's whole pitch at Marketing Live was "just tell the AI your goal and step back."
Here's the part that doesn't make the keynote slide: the machine optimizes for Google's revenue, not your margin. Those two line up right until they don't, and the account can't feel the difference.
I'll automate the boring 90%. The agent can build, bid, and report all day. What I keep my hands on are the few levers Google quietly designs out of the interface: margin-aware targets, brand exclusions, and where the budget is actually allowed to go.
Hand over the work. Keep the calls that cost real money when they're wrong.
Google quietly handed Smart Bidding permission to bid on queries you never targeted.
They're calling it Smart Bidding Exploration.
The pitch is free incremental volume. Until you've checked, the reality is it's fishing in water you deliberately left out, and you pay for every cast.
I'm not killing it on reflex. I'm reading the search-terms report first, tagging which exploration queries actually convert versus which just spend, then deciding from the data instead of the announcement.
Free volume is only free if it converts. The search-terms report tells you which one you've got inside a week.
Google just put a sunset date on Dynamic Search Ads. Here's what to lock before September flips it to AI Max.
AI Max for Search reached general availability back in April. The news at Marketing Live this month was the timeline for what comes next: Google confirmed the DSA wind-down. Auto-upgrade of broad match plus ACA starts September 2026. Full DSA migration got pushed to February 2027 after advertisers pushed back.
Calling it a DSA sunset undersells it. Google's folding DSA into AI Max with more reach and less of your control, and it happens whether you prep or not. So I'd rather flip it on my terms.
Here's what AI Max actually changes under the hood:
Final URL expansion. The system can send traffic to any page on your site it thinks matches intent, not just your designated landing pages. Powerful, and the fastest way to leak budget to your shipping-policy page if you leave it open.
Search-term matching. Broad keyword matching gets a Gemini layer on top, so you surface on queries you never added. More volume, more junk, depending on how clean your negatives are.
Text customization. It rewrites headlines per query. Great for coverage, a brand-voice risk if you sell anything regulated.
Google's own number: running the full suite (term matching + text customization + URL expansion) drives roughly 5-10% more conversion value at similar CPA versus matching alone. Real, but that lift assumes your account hygiene is already tight.
So before September, I'm locking three things on every account:
1. URL expansion controls. Exclude the pages that should never take paid traffic - cart, account, policy, thin collection pages. Whitelist the ones that should.
2. A hardened negative list. AI Max widens matching, so the negatives are now doing more work than the keywords. I rebuild them before turning it on, not after I see the waste.
3. Brand exclusions. Same reason as always. I don't want to pay AI Max to harvest branded search I already get for free, then call it incremental.
The new search-term by landing-page report that shipped late June is the one to watch. It finally shows where expansion is actually sending traffic. First thing I open on any AI Max account now.
The accounts that get hurt in September are the ones running on default match types and a thin negative list today. AI Max doesn't create that problem. It scales it. I'd rather walk in with the levers already set.
I let an AI agent run live ad ops for 30 days. Here's what broke - and the one save no human would've caught.
Everyone's posting the 5-minute demo right now. Agent checks creatives every 15 minutes, scales winners, pauses losers while you sleep. Looks like magic.
The demo is easy. The part nobody films is week 3, when the loop has enough rope to do real damage.
Here's what I actually ran. A Claude loop wired into the Meta and Google APIs, watching a live Shopify account in the mid-five-figures a month. Read performance, propose changes, execute inside guardrails. I built it because I wanted to find where it breaks before a client account did.
It failed in four places. Same root cause every time: the agent optimizes perfectly against the signal it can see, and it can't see the context that lives in my head.
1. It tried to pause a "losing" campaign that was actually our retargeting floor. Low ROAS on platform, high incrementality in reality. The agent doesn't know which conversions would've happened anyway.
2. It scaled a winner 80% in a day off three days of data. The math looked great. The variance was noise. A human waits for the sample. The agent wanted to act now.
3. It kept proposing budget shifts into branded search dressed up as "high ROAS." The same cannibalization trap I strip out of every account by hand.
4. It had no concept of margin. A 4x ROAS SKU at 10% margin loses money after COGS and fees. The platform doesn't pass margin, so the agent never saw it.
So I added four guardrails. Daily budget change capped at 20%. No pause without a 7-day window and an incrementality flag. Branded search locked out of the decision set. The margin table passed in as a hard constraint, not a suggestion.
After that, it earned its keep. Late one night it caught a tracking break I'd have missed. Conversions flatlined on one campaign at 2am, it flagged the anomaly and paused spend before the day's budget leaked into nothing. I was asleep. Someone reviewing in the morning eats the full loss.
That's the actual product. An agent that runs 24/7 inside constraints a senior operator wrote, and escalates the calls it can't judge.
The people winning with this in 2027 won't be the ones who automate the most. They'll be the ones who know exactly which four levers to never hand over. I run this across the brands at Tegra because I'm technical enough to build the loop and burned enough not to trust it raw.
Your best product has a 4.6x ROAS and Google is showing it for 10% of searches.
That's not a top performer. That's a top performer Google is hiding from 90% of the buyers who want it.
I audited a car accessories brand a few weeks back. Their top SKU was printing money. 4.6x ROAS, the team was thrilled. Then I pulled impression share: 10%.
Google was serving their best product for 1 in 10 eligible searches. The other 9 went to competitors with worse products and bigger budgets.
Here's the part most operators miss.
Impression share is the most underread number in the account. Everyone watches ROAS. Almost nobody checks how often their winners actually show up.
PMax makes it worse. It bundles your strongest SKUs with your weakest, spreads budget thin across the whole pile, and reports one blended number that looks fine. The aggregate hides the fact that your hero is starving while a dead SKU eats its impressions.
The scaling opportunity is already bought and proven inside the account. The blended number just hides it.
The math is simple once you look at the right level.
Headroom = (100% minus current impression share) times current revenue.
That car care SKU at 10% IS had 90% of its revenue still on the table - in a product already proven to convert at 9.6x. No new creative, no new audience, no new offer. Just room to breathe.
I ran this same pull across a portfolio of 20+ brands.
The pattern held in almost every account: the highest-ROAS campaigns consistently had the lowest impression share. 4.6x at 10% IS. 2.85x at 40% IS on a branded campaign that had been paused for weeks. The losers were getting all the visibility. The winners were getting starved.
Combined headroom across just three campaigns in one account: $30K+/mo in untapped revenue.
Here's the audit I run on every new account. Takes about 10 minutes.
1. Export the search terms report, last 30 days.
2. Sort by conversion value, descending.
3. For your top 10 products, pull impression share.
4. Flag anything above 2x ROAS and below 40% IS.
Those flagged products are your cheapest scale lever. They convert well, and Google simply isn't serving them enough.
Usual causes: budget shared across too many products, PMax bundling strong and weak SKUs together, or a bid strategy capping the campaign because low performers are dragging the average down.
The fix is to isolate the high-ROAS, low-IS products into their own campaigns with dedicated budget and target impression share floors. Give the winner room instead of making it fight its own losers for spend.
That car care SKU went from a quiet line item to the account's growth engine on the same ad budget.
Most of the scaling I do now starts here, before I touch a single bid. The growth was already paid for and proven. It was just buried in the aggregate where nobody thinks to look.
"Does SEO actually make my paid ads work better?" I get this every week.
The answer is yes, and almost nobody connects the three places it shows up.
Across the 20+ DTC accounts we run, the strongest paid performers almost always have real SEO underneath them. That overlap isn't accidental - both budgets feed the same relevance machine Google scores.
Three places the overlap shows up, in order of how much money it moves.
1. Quality Score is half SEO work.
Keyword relevance, landing page experience, and site speed are the three inputs Google scores. Those are the exact things an SEO team is fixing every week. When I inherit an account with a slow, thin landing page, the CPC on top-of-funnel informational terms is inflated and I'm paying a tax I can't bid my way out of. Tighten the page, speed it up, match the intent, and the same auction position costs less. The auction rewards relevance, and relevance is what SEO builds.
2. Organic authority de-risks the ad account.
I've watched stronger sites clear Merchant Center reinstatements faster than thin ones. When the organic footprint says "this is a real business with a real catalog and real reviews," the trust review moves quicker. A weak site with no organic signal sits in limbo. That's not a guarantee, but the pattern is consistent enough that I treat organic authority as account insurance now.
3. AI results reward the same signals.
AI Overviews, AI Mode, ChatGPT, Perplexity. They surface the brands with credible content, real mentions, structured data, and a clean review profile. Those are SEO outputs. So the work that lifts a Quality Score is the same work that decides whether a brand shows up when someone asks an AI instead of typing a query. Same content work, three separate distribution channels paying it back.
The strategic version: organic is the foundation that lets paid reach further. Advertorials and cold traffic plays only hold up when there's a credible site behind the click. Without it, the spend buys clicks to a page the algorithm and the buyer both distrust.
To be clear, good SEO doesn't guarantee good ads. I've seen well-ranked sites run terrible campaigns. But auditing accounts across the DTC brands we run, I almost never find a top performer sitting on a weak organic base. The best ones have both, quietly working together.
In every audit I run, paid and organic show up on the same invoice for trust. The page Google ranks is the page Google charges less to put in front of buyers.
"Ugly" presell pages are beating polished homepages on Google Ads, and it isn't close.
I've tested this across 40+ local service and lead-gen accounts. A plain presell page between the ad and the form cuts cost-per-lead 40-80% versus sending the click straight to a homepage or a bare contact form.
Not prettier pages. Not fancier design. Often the opposite.
(I know. It sounds backwards. Stick with me.)
Here's why it works.
A cold searcher doesn't trust you yet. Dropping them on your homepage, or worse, a "Request a Quote" form, is asking for the lead before earning the attention. It's handing someone a receipt before they've seen the menu.
A presell page builds the bridge. It educates first, asks second.
Here's the structure that actually converts:
1. Headline that names the problem, not your business. "AC short-cycling in this heat?" beats "[Company] Heating & Air."
2. Agitate. What it costs to wait. A failing compressor in July. A toothache that becomes a root canal. A refi window that closes when rates move.
3. Education. Teach one genuinely useful thing. This is where trust is earned. (Yes, give away real value. I know it feels wrong.)
4. Introduce your service as the answer to what you just taught.
5. Social proof. Real reviews, real photos, license numbers, years in the trade.
6. Comparison (optional). Position against the aggregator or the do-nothing option without trashing anyone by name.
7. One clear CTA. Call or book. One action, no confusion.
This isn't revolutionary. Most operators skip it because it feels like extra work, and because their web guy built one site for the whole business years ago.
The key insight: presell pages work because they match the temperature of the traffic. Cold searchers need warming. Your homepage assumes they're already sold. That mismatch is what's quietly draining the budget.
And here's the part that compounds. Google rewards relevance. A presell page built tight around the exact search intent earns a higher Quality Score. Higher Quality Score, lower CPC, more clicks from the same budget. On one HVAC account I took cost-per-booked-call from $9 to $5 with nothing but a presell page in front of the form. On a PI account where clicks run $80-$200, even a 30% Quality Score lift is real money back into the pipeline every single day.
One compliance line, because half my verticals are regulated: the social-proof and comparison sections are where PI law, insurance, and mortgage operators get themselves in trouble. Use real, attributable reviews, not invented testimonials. No "guaranteed settlement," no "lowest rate," no "guaranteed approval." Trust is built with the mechanism and real proof, not a promise a bar or DOI examiner can read.
A presell page is trust architecture, built before the form. The operators doing it right are quietly outbidding competitors on the exact same keywords for less.
Teams say "attribution is set up." That phrase tells me nothing. The config review tells everything.
Self-reported attribution accuracy is the resume of hiring. It describes what the team intended. The config review is the work trial - it shows what the bidder is actually receiving.
Three failures appear in every SaaS and mobile UA account review. Not sometimes. Every time.
Failure 1: offline conversions firing on demo-booked, not pipeline-value-weighted opportunity.
The team enabled the HubSpot-to-Google offline conversion integration. The default mapping pushes "qualified opportunity" with equal weight regardless of deal size. Nobody enabled the custom-property mapping that passes ACV as the conversion value - RevOps had to expose one field and nobody owned the ticket. The bidder has been treating a $5K SMB and a $90K enterprise account as identical for 18 months.
Fix: two days. One HubSpot custom field, one import remapping.
Failure 2: hybrid PLG/sales-led traffic running through one campaign.
Problem-aware traffic ("best project management software") and solution-aware traffic ("Asana alternative for engineering teams") have different intent signals. When they share a campaign, the bidder optimizes for the larger volume cohort. Problem-aware wins. The sales-led funnel gets starved. Two-track structure separates them, lets each bidder operate on the right signal.
Fix: one week.
Failure 3: Meta lead-ads form data not flowing back to CRM for ICP scoring.
Lead-form submissions land in a spreadsheet. Nobody ran the native CRM integration or mapped the ICP scoring field back to Meta's CAPI. The CAPI fires "form submitted" with no qualification signal. Meta optimizes for form-fillers who match the cheapest ICP. The scored qualified leads never tell Meta which profile converts.
Fix: three days. Native integration + two custom events mapped.
Platforms ship the easiest integration by default. Revenue-true configuration requires one extra step nobody scheduled - one custom field, one remapping, one CAPI event. The bidder optimizes perfectly against whatever input it gets, and the input is where all three failures live.
The cheapest warm click in local services is the aggregator's own brand name in your keyword list.
You catch the high-intent searches they paid to create - and the people already regretting it.
"HomeAdvisor reviews." "EverQuote alternative." "LendingTree vs." People search those names the moment they regret handing their info to a lead reseller. That's a homeowner or borrower already in market, already skeptical of the middleman. The cheapest warm click in your account.
But the landing page makes or breaks it. Here's the structure I use.
Section 1: Head-to-head hero
- Headline: "[Aggregator] vs Working With [Your Firm] Directly."
- Two-column visual: the resold-lead path vs the direct path.
- CTA: "See the difference."
- Instantly tells the searcher they're in the right place.
Section 2: The "why" block
- Right under the hero, say why the comparison exists.
- Key line: "We built this because we got tired of competing for leads you already paid for."
- Lowers skepticism, answers the unspoken question: why should I trust this page?
Section 3: Problem awareness
Name the pain before the table. "Most homeowners don't realize a HomeAdvisor lead is sold to 4 other contractors at the same time." "Most people don't know an EverQuote quote request hits 8 agents in 60 seconds." Connect the comparison to the outcome they actually care about: getting handled by one accountable provider.
Section 4: The comparison table
The core. Compare on what matters in your vertical:
- Response time (one provider vs 4-8 racing you)
- Who actually shows up / who actually advises
- Licensing, bonding, local presence
- Pricing transparency, financing, warranty
- Real local reviews vs platform reviews
Keep it factual. Let the rows do the selling. Highlight your strengths, never trash the competitor by name. Credibility dies the second it reads petty.
Section 5: The honesty filter
Add "Is working with us right for everyone?" Be upfront about who you're not for (price-only shoppers, out-of-area, etc.). Counterintuitive, but it builds real trust and it pre-qualifies the lead before the call.
Section 6: Social proof
Star rating + review count. Testimonials that reinforce the switch: "Called three HomeAdvisor contractors, got bounced around for two days. Called these guys, tech was out the same afternoon."
Section 7: Offer + FAQs
The compliant offer (free estimate, no trip fee, second-opinion, no-credit-pull first step). Objections in an FAQ accordion. Clean closing CTA to call or book.
Two routes:
- Independent / educational page: pros and cons, doesn't lead with brand ownership. More persuasive, more scrutiny.
- Branded page: clear ownership, informative tone, no attacks. Safer when you're up against a large platform with lawyers.
The compliance line that keeps you out of trouble:
In PI law, insurance, and mortgage, do NOT build "[your firm] vs [named regulated competitor]" pages making outcome or rate claims. Compare yourself to the *model* (the aggregator, the referral mill, the resold-lead path), not to a named carrier, lender, or firm, and never claim a guaranteed rate, approval, or settlement. Bar rules, DOI rules, and UDAAP all live in that gap. For HVAC and dental you have far more room, but the same "factual, not petty" rule still wins.
The key: you're not attacking anyone. You're positioning yourself as the accountable alternative to a system the searcher already distrusts. They feel like they're making an informed call, not getting sold.
Feed this wireframe into AI, drop in your vertical and your real proof, and you've got a first draft by this afternoon. Almost nobody in local services runs this page well right now.
Perell ran 5.4M views and 241K subscribers before Hollywood said yes. Your VSL needs 30 days at $50/day. Same model.
Hollywood won't greenlight a show without proof the audience exists. The proof comes before the permission.
Most info-product creators are running the Hollywood model on their own launches. Build the Kajabi course, record the modules, wire the email sequence - then run first paid traffic and discover nobody's buying. The test should come before the build.
The creator-economy greenlight system:
Run the VSL for 30 days at $50/day. Total: $1,500.
Three signals:
- Show rate. What percentage of cold-traffic clicks watch long enough to see the offer? Under 40% means the hook or pre-frame isn't landing.
- Close rate of shows. What percentage of VSL viewers click to buy? Under 5% on a $497 offer or under 2% on a $2K cohort means the offer or the close is broken.
- Refund-adjusted CPA. What's the real cost per buyer after the 28-day refund window? Platform-reported CPA is flattering. Refund-adjusted is real.
These three signals are the greenlight. 5.4M views on a YouTube pilot told Perell the same thing $1,500 of paid spend tells you: audience wants this, offer lands, scale it.
The greenlight system costs $1,500 and 30 days. Most creators spend $15,000 finding out the show doesn't work.
We turn away multiple brands a week. On purpose.
For most of our first stretch running Tegra, we didn't.
Here is an ugly truth for most agencies (including us in the past): brands showed up with budget and a credit card, and we found a reason to say yes. Revenue is revenue. The pipeline math felt obvious.
It wasn't.
Here's what we kept signing:
The account already in great shape. Nothing structurally broken, decent ROAS, a competent operator already inside it. We'd come in, tidy the edges, and produce a 5% lift that nobody could feel. We were getting paid to not break things.
The brand where we weren't confident we could move the number. Sometimes the product, the margins, or the market just isn't there. We knew it on the audit call. We signed anyway and spent six months proving ourselves right.
The brand not ready for Google Ads. No clean conversion tracking, a landing page that loses 70% of clicks, a fulfillment problem upstream. Spend isn't the lever for that brand yet. We took the retainer and watched paid traffic expose every crack they hadn't fixed.
And the brand under our minimums, where the account-load math never works and someone on the team quietly resents it for a year.
Every one of those is a wrong-fit engagement. And wrong fit doesn't fail loudly. It fails slow.
Here's the mechanism nobody tells you when you start an agency.
A wrong-fit client doesn't just underperform. It taxes everything around it.
It pulls senior review hours away from the accounts that are actually compounding. It generates the awkward monthly call where you explain why flat is fine. It produces the churn 5 months later that you saw coming on day one. And it teaches your team that the work doesn't reliably win, which is the most expensive thing an operator can come to believe.
You're not just losing on that account. You're taxing the whole portfolio to carry it.
So we built a real qualification gate. Four questions, asked before we send a single proposal:
- Is the account already in good shape? Then we're the wrong call.
- Are we genuinely confident we can move the number? If we're hedging on the audit, that's the answer.
- Is paid the actual constraint right now, or is it tracking, the offer, or the page? If it's upstream, spend makes it worse.
- Does this clear our minimums without straining account-load? If the math only works when someone overextends, it doesn't work.
A no on any one of those is a no on the whole engagement. We say it on the call now, with the reason, and we point them at what they actually need first.
The first few times, saying no to live revenue felt insane. Three of us run this. Turning away a signed retainer is not a small feeling.
Then the second-order effects showed up.
Profit went up, not down, because the accounts we keep are ones we can genuinely win, and winning accounts renew, refer, and expand. Stress dropped, because we deleted the standing dread of the call where you defend mediocre numbers. Every account started stacking wins, because we stopped diluting senior attention across engagements that were never going to move. And the team got happier, because nobody likes spending their week on the account they knew was wrong on day one.
The brands we turn away aren't getting a worse deal. A wrong-fit engagement loses for everyone in it. We just stopped being the agency that takes the money anyway and lets both sides find that out in month six.
Fit-first beats taking anyone with a credit card because the credit card was never the constraint. Our attention is. We only have so much senior review to spend, and every wrong-fit client is attention we're not giving to a brand we can actually move. As well as helping us to make promises we can actually deliver.
Most agencies clock out at 5pm. During the biggest sales weeks of the year. Here's what "caring more" actually looks like.
What a typical agency gives you:
- 1 media buyer managing 15+ accounts
- 10 changes per month across the whole account
- Weekly report that's the same template with different numbers
- Response time: "we'll look into it first thing Monday"
- Clocked out during your biggest revenue days
Here's what Tegra looks like:
ROAS drops 0.3 points? We're investigating within 30 minutes. Not because an alert went off. Because we're already in there.
Ad disapproval at 9pm on a Thursday? Fixed and re-approved before the client checks their phone in the morning.
Checkout page breaks during a promotion? We're on a call with the dev team at midnight coordinating the fix. Client finds out after it's already resolved.
Here's the part no system covers: caring. You can't automate it.
We built AI systems that watch accounts 24/7 and flag anomalies the moment they happen. But the systems don't fix the problem. We do. At midnight. On weekends. During holidays.
When a client's account is bleeding money and they don't know it yet, going to sleep isn't an option for us. We've tried. It doesn't work.
Every account gets the same person who built the strategy, executing it daily. No handoff. No rotation. Same brain, same context, same obsession.
The software is real and it's good. The edge underneath it is simpler: we give more of a damn than the team that clocks out at 5.
Everyone's hyped about Meta MCP and CLI tools. Sorry to bring you the red pill. We measured both. Using the full Graph API won every single read.
I and @andreilunev integrated the Meta API through Graph a few years ago. Way before the recent CLI and MCP release. So we were interested to test the "old" setup vs the new shiny CLI.
We instrumented our actual Meta ad pipeline - every wrapper function, CLI vs direct Graph, live-measured on real accounts.
Graph won every read. Nothing was slower. Two CLI calls didn't just lose - they timed out past 180 seconds and failed outright.
The one that mattered most: pulling per-ad insights across 120 ads.
CLI enumerate-and-loop: 10-30 minutes.
Same data, one Graph call with field expansion: 16 seconds.
20-60x depending on account size.
Here's the part the MCP excitement fades.
A CLI is one process, one auth handshake, one request per invocation. To get insights for 120 ads it lists the ads, then loops - one round trip per ad. That's the N+1 problem wearing a friendly prompt.
The Graph API has the primitive the CLI hides from you: batching and field expansion. You ask for the ads, creatives, and insights in one nested request. One round trip. The server does the join.
The CLI can't expose this. Its whole model is one-command-one-call.
That's why the abstraction feels great and scales badly. MCP and CLI optimize for the first call being easy. The Graph optimizes for the thousandth call being cheap.
At demo scale you never feel it. At scale where dozens of accounts managed - it makes a big difference.
Most brands think scaling = spend more on what's working.
That has limits. Audiences exhaust. CPCs rise.
Real scaling = finding new audiences we didn't know existed.
Two brands in our portfolio right now.
Brand A: 0.89x ROAS. 98/98 campaigns underspending. Bleeding $3,326/week. Delivery in a death spiral.
Brand B: 355 active ad issues. Feed warnings stacked up. 3.24x ROAS.
Same team managing both. Same platform. Same campaign types.
The difference? Brand A sends ad traffic to product pages. Brand B sends it to an ecosystem - intent-matched landing pages, comparison content, email capture for non-buyers, 7-email follow-up sequences.
We monitor 15+ brands daily through our internal system. The pattern is so consistent it's boring:
Brands with post-click ecosystems average 2.8x ROAS.
Brands without them average 0.4x on the same ad quality.
That's 7x. Not from better ads. From what happens after the click.
@eCom_Amin nailed it: "the gap between 2% and 10% CVR is almost never the ad." We see the proof of this in real-time. A brand at 2.1% CVR pays $142 per customer. A brand at 9.4% CVR on the same traffic pays $31.
95% of visitors leave without buying. Most brands wave goodbye forever. The ones printing 3x+ ROAS capture those visitors and convert them over days through follow-up sequences.