CASE STUDY ยท LAVIS NAILS
Running paid acquisition for three brands in the same niche, the discipline rules that stop the portfolio from canceling itself out
DTK, ND, and LAVIS all sell into the US nail-supply market. Three Business Manager accounts, three Google Ads MCCs, ~$70k/month combined ad spend. Without the right rules they bid against themselves, same audience, three brands, lift-equals-zero. With the right rules they compound. Here are four problems most operators do not see until they are managing more than one brand at once.
3
Brands run in parallel
~$70k
Combined monthly ad spend
0
Learning-phase resets in 6 months
100%
Material changes audit-logged
๐ TL;DR ยท 30-SECOND READ
Running paid acquisition across three brands in the same niche teaches what one brand cannot: cross-brand branded halo, learning-phase resets from over-eager scaling, creative portability gaps, and the operational drag of clicking through three of every dashboard. The four discipline rules below kept us at zero learning-phase resets in six months and audit-logged 100% of material changes.
KEY TAKEAWAYS
- Branded ROAS is downstream of ANY-brand promo activity in the niche, not organic strength
- Safe-scale discipline: max +20% step, 4-day cooldown, no scale under 7-day campaign age
- Creative portability: keep the angle, re-voice copy; test 3 brands in parallel, never sequential
- MCPs encode safety rules at the API layer, not in the prompt โ the discipline cannot drift
THE SETUP
Three brands. One niche. Different positioning.
DTK is the established wholesale brand. ND is the sister wholesale brand with the strongest blog. LAVIS is the private-label brand, direct-to-consumer positioning, different audience, different creative voice. Three Shopify stores, three Business Manager accounts, three Google Ads MCCs.
Running three brands in the same niche is essentially a multi-arm A/B test machine. The same hypothesis tested across three independent P&Ls is far more signal-rich than a single account iterating against itself. But only if the operational layer keeps the brands from sabotaging each other, and that is what the four problems below cover.
PROBLEM 1 ยท CROSS-BRAND HALO
A promo on brand A spikes branded search on brands B and C. Your branded ROAS is downstream of any-brand activity, not a clean organic signal.
๐ฉบ THE SYMPTOM
Branded campaign on one brand looks abnormally strong this month. ROAS at 10ร, impressions up 3ร, dashboard looks fantastic. You start planning to “double down on brand investment”. Meanwhile a sister brand ran a major email + paid push in the same window, your branded “organic strength” is actually the halo of someone else’s promo. Read it wrong and you allocate budget to a channel that does not own the lift it appears to own.
๐ The diagnosis path I use
Branded search behaves portfolio-aware in any niche where the brands overlap on customer overlap. When DTK runs a flash promo, ND’s branded searches spike 2โ3ร because customers cross-shop within the niche before buying. LAVIS branded search spikes too, even though its positioning is different, because the same audience pool now has nails on their mind. This is not measurement error. It is the actual market behavior. But it does mean a branded ROAS read in isolation is a lie.
My diagnosis is always three queries, in order:
- Branded delta vs portfolio promo calendar. Plot each brand’s branded clicks against the full portfolio’s promo + email + paid-social calendar. The 3ร spike that “came out of nowhere” almost always lines up with a sister-brand push 3โ7 days earlier.
- Cross-brand audience overlap (Meta Audience Insights). Pull the overlap percentage between each brand’s pixel audience and the others. Higher overlap = stronger halo effect. For our portfolio the DTK โ ND overlap runs around 35โ40%, DTK โ LAVIS around 20โ25%.
- Negative-keyword cross-pollination (Google Ads). Are sister-brand names being added as negatives in each brand’s non-branded campaigns? If not, the sister brand is bidding on your buyer’s last touch.
๐ ๏ธ The fix rules I apply
Rule 1 is the most counterintuitive. Operators with a single brand never bump branded budget pre-promo because their branded campaign already absorbs the lift “for free”. With a 3-brand portfolio, the lift gets distributed across the niche, and each brand’s branded budget needs to be wide enough to catch its share. Cap any one brand and you cap your own promo lift.
๐ The result across the portfolio
- DTK branded clicks (promo brand): +280% peak on day 0
- ND branded clicks (sister wholesale): +150% peak with a 1-day lag
- LAVIS branded clicks (private label): +110% peak with a 1-day lag
- Lesson: pre-promo branded budget bumps on all three brands captured the lift that previously hit the budget cap and dropped off.
๐ WHAT YOU CAN DO YOURSELF
Even with a single brand, never read a branded ROAS spike without checking your own promo calendar. If you have a sister brand, partner brand, or affiliate program in the same niche, extend the check there too. Branded performance is downstream of any promotional activity in the niche, not just yours. The 3ร spike that looked like organic brand love is almost always a promo halo with a 1โ3 day lag.
In a sprint, I set up the branded-vs-promo overlay reporting in week 1, before any campaign changes.
PROBLEM 2 ยท SAFE-SCALE DISCIPLINE
Pressure to scale fast breaks the learning phase. The rules below kept us at zero learning resets in six months.
๐ฉบ THE SYMPTOM
A campaign is performing well. ROAS is at target, CPA is stable, frequency is in range. The CFO (or the operator’s own optimism) says “scale it”. Budget doubles overnight. Within 24 hours ROAS drops by 60%. Within 4 days the campaign re-enters learning phase. Two weeks later you are still trying to claw back to the previous baseline. Net: one impulsive scale move cost you a month of compounding.
๐ The diagnosis path I use
The Meta + Google learning phase exists because the auction needs enough conversion data to calibrate. Material changes reset that calibration. Meta’s documentation on the learning phase and Google’s Smart Bidding help center both list the changes that trigger a re-learn. The six triggers that reset learning are:
- Budget change > 20% in either direction
- Bid strategy change (Maximize Value โ tROAS, Manual CPC โ Auto)
- tROAS / tCPA goal change
- Major creative swap (more than 50% of active creatives)
- Audience change (new lookalike seed, custom audience swap)
- Conversion event change at the campaign or ad-set level
Every “I want to scale” decision is graded against these six. If the proposed move triggers any of them, the rule kicks in.
๐ ๏ธ The safe-scale rules I apply
A worked example. To scale the LAVIS branded campaign from $X to $1.6X over 6 weeks, the math is +20% ร 4 steps (1.0 โ 1.2 โ 1.44 โ 1.728), with at least 4 days between each step. The total scale is ~70% over six weeks instead of 100% overnight. The auction never breaks calibration. ROAS does not crater. Compare that to one “double the budget” move: 60โ80% ROAS drop, 2-week recovery, net zero gain. The rules cost six weeks of patience and save a month of recovery.
๐ The result across the portfolio
- Learning-phase resets in 6 months: 0 across 3 brands
- Material changes executed: ~40 logged, 100% with rollback plan attached
- Rejected changes: ~12 caught by the pre-flight rule before they shipped
- Average ROAS volatility: campaign-level standard deviation reduced ~40% vs prior 6-month window
๐ WHAT YOU CAN DO YOURSELF
Start a per-account text file called change-log.md. Before any material change to a campaign, write one entry: date, what changed, why, expected impact, rollback plan. The act of writing the entry surfaces the question “am I respecting the 20% rule and the 4-day cooldown?”. Most over-scaling impulses die at the keyboard before they reach the dashboard.
In a sprint, I bring the change-log template and the pre-flight checklist as deliverable artifacts.
PROBLEM 3 ยท CREATIVE PORTABILITY
The same creative crushes on one brand and bombs on another. Brand positioning is the variable, not the creative.
๐ฉบ THE SYMPTOM
A creative that drove a 6ร ROAS on one brand gets cloned to another brand. Same product, same audience targeting, same time of year. ROAS lands at 1.2ร. Nobody can tell why. The team adds variants, A/B tests, swaps thumbnails. Nothing moves it past 1.5ร. Meanwhile a different creative angle quietly outperforms it on the second brand. Same physical product. The variable nobody isolated is the brand voice the audience expects.
๐ The diagnosis path I use
A concrete example. A no-frills “12 colors, $X per bottle, ship today” inventory shot crushed for DTK (wholesale audience reads it as “this seller is real and stocked”) and bombed for LAVIS (DTC audience reads it as “discount/clearance vibe”). Same product, same brand-side intent, opposite emotional read. Brand positioning sets the audience’s pre-loaded expectation; the creative either confirms or violates it.
I run cross-brand creative tests as 3-way parallel comparisons, not sequential single-brand iteration. The structure:
- Ship the same creative pattern across all 3 brands in the same week. Same product category, same audience targeting size, same week-of-year (so macro effects cancel out).
- Measure not just ROAS, but CTR and on-site engagement separately. CTR difference signals “the hook matched”. On-site bounce signals “the landing matched”. Splitting these tells you whether the failure is at the ad or at the brand-to-landing handoff.
- Document which (creative + brand voice) combinations compound. One creative angle that survives on 3 brands is gold. One that wins on 2 of 3 still teaches you what the third brand’s positioning rejects.
๐ ๏ธ The portability rules I apply
The most valuable rule is the last one. Most teams document wins and forget losses. The losses are where the brand boundary lives, the unspoken rule about what your audience expects you to be. Catalogue those and you build a real positioning document over time, by subtraction. By month six you have a written “this brand will not say / will not show / will not tone” list that survives team turnover.
๐ The result across the portfolio
- Cross-brand parallel tests run: ~24 in 6 months, vs ~6 sequential single-brand tests in the prior window
- Creatives that survived on 3 brands: 4 (the “portable winners”, work into every brand’s library)
- Creatives that worked on 2 of 3: 9 (each one taught us where the third brand’s positioning boundary sits)
- Signal-to-noise of paid creative learnings: roughly 3ร higher than the single-brand iteration we had been doing before, same time investment, three times the learning per cycle
๐ WHAT YOU CAN DO YOURSELF
Even with a single brand, never clone a winning creative from a competitor or partner brand without re-voicing it for your own positioning. Keep the angle, change the voice. And if you have access to a sister brand, affiliate brand, or licensing partner, propose a 3-way parallel test. The signal-to-noise jump is one of the few free upgrades available in paid acquisition.
In a sprint, I structure the creative test queue so each cycle tests one hypothesis across both your brand and a benchmark brand whose voice differs.
PROBLEM 4 ยท PROGRAMMATIC OPS
Manually checking three Ad Managers, three GMC dashboards, three Klaviyo accounts daily eats half your week. Custom MCPs reclaim it.
๐ฉบ THE SYMPTOM
Morning starts with logging into three Meta Business accounts, three Google Ads MCCs, three Merchant Centers, three Search Consoles, three GA4 properties. Each dashboard takes 5โ10 minutes to scan. By the time you have looked at everything, it is lunch. Anomalies that needed action 4 hours ago are still waiting. The 14-hour time zone gap to LA makes this worse, by the time you spot a problem, the US business day is half over.
๐ The diagnosis path I use
A time audit of one operator week told me the truth: 18โ22 hours per week was spent in dashboard navigation that produced almost no decisions. Most of the time was the cost of asking the same question across three accounts and reformatting the answer mentally. The work of actually deciding what to change was a tiny fraction of the wall-clock.
The fix was not “use better dashboards”. The fix was to remove the dashboards from the loop wherever possible. Programmatic access to the underlying APIs, queried through an LLM that already knew the rules, replaced the click-clicking entirely for the diagnostic layer. The framework I use, Anthropic’s Model Context Protocol, lets Claude call my own tooling over a typed schema, so the LLM gets read + write access to ad accounts without ever holding raw credentials in the prompt.
๐ ๏ธ The custom-MCP stack + governance rules
The rules from Problem 2 are not just procedural, they are encoded into the write-scope MCPs themselves. A budget change that violates the 20% step rule does not execute. A change inside the 4-day cooldown does not execute. The LLM does not need to remember the rules; the tool does. That is the unlock that makes “AI managing ad accounts” actually safe, the guardrails live in the tool, not in the prompt.
๐ The result across the portfolio
- Operator time on cross-account ops: ~20 hrs/week โ ~5 hrs/week
- Mean time to anomaly detection: 4โ8 hours โ under 30 minutes (Telegram brief catches it before I open my eyes)
- Audit-logged material changes: 100% (vs irregular notes in the prior setup)
- “Forgot why I made this change last month” moments: down to roughly zero, the log answers the question in seconds
๐ WHAT YOU CAN DO YOURSELF
Even without custom MCPs, the discipline is portable. Start a per-account change log. Set up a single morning Slack or Telegram digest that pulls yesterday’s spend + ROAS + top anomalies from your existing tools. Encode your safe-scale rules into a one-page checklist that any team member must tick before executing a budget move. The rules and the log do most of the work, the API automation is the multiplier, not the source of the discipline.
In a sprint, I stand up the change log, the morning digest, and the safe-scale checklist as concrete artifacts the team owns after I leave.
FREQUENTLY ASKED
Common questions about portfolio discipline
Do these rules apply if I only run one brand?
Yes, with one caveat. The safe-scale rules (20% step, 4-day cooldown, 7-day age gate, audit log) apply identically to single-brand operators. The cross-brand halo rule is partially mooted because there is no sister brand, but the underlying lesson holds: branded ROAS is downstream of ANY promotional activity in your niche, including partner brands, affiliate programs, and PR mentions. The creative portability rule applies if you have access to even one comparable benchmark brand to test against.
How do I scale a campaign by more than 20% without breaking learning?
In steps, with cooldown between each. To go from $1,000/day to $1,600/day, run +20% ร 4 steps spaced 4 days apart: $1,000 โ $1,200 โ $1,440 โ $1,728. Total time: roughly six weeks. The auction stays calibrated, ROAS does not crater, and the campaign exits the rolling change window calibrated to the new spend level. Compared to one doubling move with a 60 to 80% ROAS drop and a two-week recovery, the patient approach actually arrives at higher net spend faster.
Is it safe to let an LLM make budget changes in production ad accounts?
Only if the safety rules are encoded at the tool layer, not in the prompt. A custom MCP can enforce: budget change โค 20%, no change inside the 4-day cooldown, no change to a sub-7-day campaign, write a change-log entry with rollback plan before commit. With these rules at the API layer, an over-eager LLM literally cannot execute a learning-phase-breaking change because the tool refuses the call. The discipline lives in the tool, not in the model.
Why test creative across 3 brands in parallel instead of sequentially?
Parallel testing controls for seasonality, macro market shifts, and the audience-mood-of-the-week. The same creative shipped to three brands in the same week measures the creative across three distinct (creative ร brand voice ร audience) combinations under identical macro conditions. Sequential single-brand testing confounds the result with time-of-year and external news cycles. The signal-to-noise ratio of parallel testing is roughly 3ร higher for the same time investment.
Can I get the change-log template + safe-scale checklist without hiring the sprint?
Yes. The 7-day Audit delivers the change-log template, the pre-flight checklist, and the safe-scale rules as part of the PDF + Loom walkthrough. You can hand them to your team and apply them without further engagement. The 90-day Sprint adds the custom MCP integration and the daily anomaly digest, which are multipliers on operator time once the discipline is already running.
WHAT THIS CASE DEMONSTRATES
The skills behind portfolio-grade discipline
๐ฏ
Portfolio-aware paid acquisition
Branded halo modeling, cross-brand audience overlap, cross-brand negatives. Reading channel performance in portfolio context, not in isolation.
๐
Safe-scale discipline encoded in rules
Six learning-phase reset triggers, 20% step rule, 4-day cooldown, age gate, audit log per change. The rules survive any team change.
๐งช
Cross-brand parallel testing
Same hypothesis tested against 3 independent P&Ls in parallel. Controls for seasonality and macro. Documents the rejections as positioning artifacts.
๐ค
Custom MCPs with safety rails encoded
Programmatic access to Google Ads, Meta Ads, GMC, Klaviyo across all 3 accounts. Safe-scale rules enforced at the API layer, not in the prompt.
Running one brand and wondering if these rules apply?
They do. Single-brand operators just hit the symptoms one at a time instead of all at once. The 7-day Audit surfaces which of these is silently costing you most. Sprint engagements ship the change log + safe-scale checklist + custom MCP integration if the volume justifies it.