Pet supplements across the UK and Ireland is one of the cleanest English-speaking ecom plays most US founders never look at.
Combined population: 71M (UK 66M, Ireland 5M). The UK pet supplement market alone is roughly £1B annually and growing 8-12% YoY. The Irish market adds another £200M with the highest per-capita pet spending in the EU.
Meta CPMs at $4-7 in pet supplements. AOVs typically run £45-75 vs $35-55 for similar US products. The UK pet owner pays a premium for quality and screens for ingredient transparency aggressively.
What works:
→ UK-English creative (not US-English. Phrasing, product references, and tone matter. US copy underperforms by 30-40% even though the language is technically the same)
→ Founder-led video with clear ingredient sourcing
→ Veterinarian endorsement angle (UK pet owners overindex on vet authority signal vs influencer endorsement)
→ Subscription-first offers around 90-day refill cycles
What's hard:
→ Post-Brexit fulfillment friction if shipping from EU into UK. Most US brands ship from US directly which works but adds 5-8 days to delivery vs local 3PL.
→ Regulatory: VMD (Veterinary Medicines Directorate) registration for anything making health claims. 60-90 days setup.
→ Returns rates run 6-9% (higher than US) because the UK consumer is meticulous.
A founder I know runs a women-focused pet supplement brand (dog-mom positioning) across UK and Ireland combined. £290K/month run rate, 22 months in. Two-person team. CAC £34. AOV £58. Subscription mix 33%. Refund rate 4%. Net margin 16%.
The UK pet market overindexes on "premium" vs the US (Brits spend more per pet per year on average than Americans). Almost zero US-style direct response presence in the category.
Worth testing if you have a pet product that travels and bandwidth for the VMD setup.
• • •
Here's how I optimize accounts without breaking what's working.
When I turn ads off:
→ 3+ days of consistently bad performance in the daily breakdowns
→ The ad spent 3-4x my average CPA per day during those days
→ Cos per add to cart above goal
→ Segment breakdowns show it's mostly converting engaged audiences with a high CPA, not new customers
When I leave ads alone:
→ One bad day. Purchases can be delayed. Tomorrow might attribute today's work.
→ Meta is overspending on it. The algo sees opportunity there.
→ The last 4 days were healthy. Ads don't fatigue overnight.
What I check before any decision:
→ Daily breakdowns for the last 7 days (including today)
→ Is the decline gradual or just today?
The rule I follow: a handful of strategic changes per week. Not 20 reactive ones per day.
Bad days happen. Give Meta time and volume before you make calls.
high demand post — bid cap 101 👇
start at BE NCPA
wait 1-2 days
no spend → raise $2-3
repeat
if you're way past BE NCPA and still nothing it's not the bid. Meta is literally telling you it can't find a purchase at your CPA. cranking the cap won't save you, you need new creative.
also stop panicking when bid caps don't spend full budget early in the week. low CVR days are normal. it's by design
🚨 We stopped sending traffic straight to product pages.
CPA dropped 30% across every account.
Here's the landing page system that's boosting conversion rates (and the mistake most brands keep making) 👇
Take your top best performing ads.
Launch a sales campaign, but instead of optimizing for purchases, optimize for daily unique reach.
Launch that campaign at like 5% of total spend.
To me this has been the biggest contributor overall to pushing net new reach on Meta.
The key here is the audience and placements seeing the content. Advantage+ needs to be off. Customize the placements. Exclude all engagers and buyers.
I've found launching with interests actually seems to push things higher. Use your cohorts to understand the demo and just send that signal.
I usually am a broad maxi, but for these I want a bit more control. I've found if you do give the reigns to Meta it generally does the opposite of what I wanted.
What to do when your cost cap campaign stops spending.
When a cost cap campaign slows down or stops spending, it usually means Meta determined it can't find a customer at your set cost cap with the ads, offer, and product you're running.
Here's how I diagnose it step by step.
**1. Test if it's the ads**
→ Turn on an old ad that used to get a lot of spend
→ If it starts spending, your current creative was the problem
**2. Test if it's the offer**
→ If the old ad doesn't fix it, I assume competitors have a better offer
→ Look at what competitors are running and try to match or beat it
**3. Consider the product**
→ If the offer change doesn't work, the issue might be the product itself
→ But you can't change the product easily, so first you have to rule out a broken campaign
**4. Test if the campaign is broken**
→ Duplicate the cost cap campaign so you don't disturb the original
→ Turn the original off
→ Switch the duplicate to highest volume (max conversions)
→ If the highest volume version performs horribly too, something else is going on
→ If it works, your cost cap campaign was just broken
Sometimes a cost cap campaign just dies for no clear reason. Duplicating and switching to highest volume is the cleanest way to figure out if it's the strategy or the campaign itself.
The first 30 days of a new client account. What I do, what I don't touch, and why.
**Week 1: Stop the bleeding**
→ Audit the account but don't make major structural changes yet
→ Turn off ads that have been running 2+ weeks with zero results
→ Pull historical winners back into a fresh CBO with a cost cap
→ Launch a batch test in the ABO with whatever creative the client has on hand
The goal isn't to fix everything. The goal is to find quick wins and stop the account from getting worse.
**Week 2: Build the foundation**
→ Restructure the account based on spend level (under $1k/day = consolidated, over $1k/day = separated testing and scaling)
→ Set up custom columns and audience segments properly
→ Start a real testing pipeline with one angle per ad set
→ Launch a zombie campaign for the failed ads from week 1
**Week 3: Find the winners**
→ Heavy creative testing. As many new angles as the client's creative team can produce.
→ Daily breakdowns on everything from week 1 to see what's actually working
→ Graduate any proven testing winners into the scaling CBO
→ Start dialing in cost caps on scaling based on real data
**Week 4: Optimize and document**
→ Refine the structure based on what's working
→ Document the wins and the patterns I'm seeing
→ Build the creative brief for month 2 based on what tested well
→ Set the testing cadence going forward
**What I don't touch:**
→ Anything that's clearly working. Don't fix what isn't broken.
→ Settings outside my control (pixel setup, conversion API, attribution windows) until I understand why they're set that way
→ The client's website unless they ask me to look at it
→ Creative direction in week 1. Earn the trust first.
The biggest mistake new media buyers make is trying to change everything on day 1. Stabilize first. Then build.
One of the most important metrics to track is your cost per add to cart.
ROAS is a lagging indicator. By the time it tells you an ad is working, you've already wasted days of spend deciding. Cost per ATC tells you in hours.
Why it matters.
→ Add to carts come way before purchases. Especially on high AOV products where buyers take days to convert.
→ A low cost per ATC means the ad is bringing people into the funnel cheaply. That's the hardest part of the job.
→ A high cost per ATC means the ad isn't connecting. No amount of waiting fixes that.
What I do.
I watch cost per ATC on every new ad I launch. If it's strong by day 2-3, I give the ad more runway even if purchases haven't come in yet. If cost per ATC is bad, I know the ad isn't going to suddenly fix itself when purchases catch up.
Stop waiting for ROAS to tell you what cost per ATC already knows.
Every ecom brand that scales hard will hit a point where their hero product dies out.
At some point, one product won't be enough. Your hero can’t carry you forever.
Most ecom dudes start looking around at what others in the space are launching. Supplement brand adds protein. Bag brand drops a wallet. Makes sense. Same customer. Same category.
Build it. Spend three months on it. Launch it.
Nothing works. Three months wasted. Budget burned. Still no second product that sticks.
Blame the product. On to the next one with ‘’massive potential’’.
Meanwhile Comfrt, a hoodie brand, launched a blanket. Nobody saw it coming. That blanket became the most sold blanket in America. 70%+ repeat rate across the whole brand.
They just listened to their customers.
When the next product comes from customer signal the launch is already warm. The people who asked for it are ready the day it drops. You already paid to acquire them. No extra CAC. Just margin.
Caden Lane did the same thing. Baby apparel brand. Noticed everyone buying pajamas as a gift also threw a stuffed animal in the cart. The customer showed them. They just saw it. Built it.
Your customer is already telling you what to build next. You're just not listening.
Check your reviews and see what people keep asking for that you don't sell. Go through your DMs. Look at what's consistently ending up in the cart next to your hero product. The signal is already there.
And when you find it, timing matters. If you’re testing a product close to Q4 you’ve missed out on the biggest launch period of the period. Test in May or June, you’ll have real data by July. Enough time to reorder and be fully stocked by Q4.
Your next winning product already exists, your customers have shown you. They’re just waiting for you to take action.
This is my client's scaling campaign. It has 5 ad sets.
→ 1 for historical winners
→ 4 for newer previously tested winners with min spend limits
But having 5 ad sets in your scaling campaign isn't always smart. In fact, it's not helpful for most brands.
Here's how I'd structure an ad account based on spend.
**Under $30k/month**
→ 1 CBO for scaling and testing
→ 1 ad set for winners
→ 1 ad set for tests
→ Min spend limit on testing ad set at your average CPA
→ Max spend limit at 50% of total campaign budget so ads can't run away (Meta does get fake signal sometimes and overspend on bad ads)
**$30-100k/month**
→ 1 CBO for scaling with a single ad set
→ 1 ABO for testing with one ad set per angle
**Over $100k/month**
→ 1 CBO for scaling
→ 1 ad set for historical winners with a max spend limit (don't let them hog all the spend)
→ New ad set added for every 10 newly tested winners from the ABO
→ 1 ABO for creative testing
→ Zombie campaign for losers
Match your structure to your spend. Don't run a $100k/month structure for an account spending $200/day. It spreads your budget too thin and you'll never learn anything.
What to do if one ad is taking up all the spend.
This happens all the time. Meta finds one ad with engagement and history and dumps the entire CBO budget into it. Your other ads sit there with $5 of spend and never get a real shot.
Here's how I fix it.
→ Create additional ad sets inside the CBO with min spend limits to force spend into newer ads
→ Set a max spend limit on those ad sets so they don't run away if Meta suddenly favors them while they're unproven
→ As those newer ads start performing and hitting their max limits, I remove the max and let them keep scaling
The min spend forces Meta to actually test your new ads. The max spend keeps you protected if one of them takes off too aggressively before you've validated it.
Min and max spend limits are the two most underused settings in Ads Manager. They give you control over where Meta puts your budget instead of letting it pick favorites and ignore everything else.
I just launched a new ad account for my own brand and we're (barely) profitable on week 2.
Here's what I did:
- 1 CBO
- 1 Ad set (broad / Optimize for purchase)
- 3-4 ad sets (let it sit for 1 week)
CPMs will be high in the beginning and Meta won't know who the ideal customer is
You need to give it time to both warm the pixel and ad account. Once the CPMs start coming down you can test more ads and different offers till you get it just right.
Now I'm on round 2 (make more ads!)
Partnership ads are a huge unlock with Meta ads.
You can run the same ad through both your brand page and a creator page (or non-brand page) at the same time. Meta dynamically picks which entity to show based on what it thinks will perform.
Why this works.
It's not really about reaching new people (though it can help if the page has followers). It's about making your ads feel more authentic.
→ An ad from your brand page feels like an ad
→ The same ad from a creator page or niche page feels like content
How I run it.
→ Create a whitelisting CBO
→ One ad set per page so I can track which entity is pulling weight
→ Partnership ads turned on so each ad runs from the connected page
→ Min spend limits on newer pages so Meta gives them a fair shot
Same top performing ad, different page, often a completely different result. I've seen ads that did fine on the brand page absolutely crush from a creator or tastemaker page.
You can find winners in your account in 2 minutes.
→ Sort all your ads by spend
→ Set the time frame to last 14 days
→ Look at the ads at the bottom. The ones that have been running but barely got any spend.
Meta decided it didn't like them. That doesn't mean they're bad. Meta picks favorites early and never looks back.
What I do:
→ Duplicate those ads into a fresh ad set with a min spend limit (cost cap campaign)
→ Force Meta to actually deliver on them this time
→ Let it run for 4 days
I've seen ads that got $10 of spend originally turn into top performers when they got a real shot.
You're not creating new creative. You're not testing anything new. You're just giving the work you already paid for another chance.
Most of the time it doesn't work. But when it does, you found a winner for free.
This ONE billing change made us an extra $1.1M last year with zero price increases.
If you run a subscription focused brand, steal this, implement it, and thank me later.
Common subscription brands will spend weeks testing ad creative to lower acquisition costs by $3.
But at the same time, subscription infrastructure itself is quietly bleeding revenue every month because nobody has looked at it since launch.
This is the full system:
Step 1: Convert to subscription without creating doubt
→ Pre-select subscription on product pages with crystal clear transparency
→ Show savings in immediately understandable terms
→ Compare one-time versus subscription side by side
→ Use social proof about what percentage of your customers subscribe
→ Make it very clear they can pause, skip, or cancel at any time
Step 2: Eliminate checkout drop-offs
→ Emphasize permanent savings at checkout
→ Visualize the long-term savings impact
→ Stress customer control over their subscription
→ Every drop-off at checkout is a subscriber you already convinced on the product page and lost because the checkout created doubt
Step 3: Nail post-purchase onboarding
→ Send a detailed subscription management welcome email immediately
→ Provide easy modification access points
→ Reinforce why subscribing was the right call
→ The first 48 hours after someone subscribes are where most first-month churn starts
Step 4: Prevent churn before it happens
→ Send pre-billing reminders before renewals so there are no surprises
→ Enable adjustments without login barriers
→ Offer pauses instead of immediate cancellations
→ Keep the cancel button visible and accessible because hiding it destroys trust
→ Track cancellation reasons so you can improve the experience for the next subscriber
Step 5: Long-term subscriber retention
→ Escalate perks for loyal subscribers
→ Run personalized win-back flows for churned customers
→ Test renewal incentives continuously because what works this quarter might not work next quarter
All in all - If your average subscriber is worth $50/month and you're running 5,000 active subscriptions, a 10% improvement in retention adds $25K/month in revenue you would have otherwise lost.
Over 12 months that's $300K from retention alone.
Layer in the conversion rate improvement from pre-selecting subscription plus the checkout optimization and the churn prevention and you see how $1.1M becomes achievable without ever raising the price.
The same product gets sold for completely different reasons.
A wrinkle cream that hits a 25 year old as "stop them before they start" hits a 45 year old as "undo what's already there." Same product. Different conversation.
I worked on a skincare account that had 5 different buyer types in their audience.
→ Prevention buyer: stop the problem before it starts
→ Reversal buyer: fix the damage that's already there
→ Maintenance buyer: keep what's working, don't let things slip
→ Problem solver: I have this specific thing to deal with
→ Ingredient seeker: just give me the active that works
Each one needs a completely different ad. Not a different version of the same message. A different message entirely.
The prevention buyer wants to know what happens if they wait. The reversal buyer wants before and after proof. The maintenance buyer wants reassurance.
If you only test variations of one angle, you're only ever talking to one of these buyers. You're missing 80% of your potential audience.
Real scale doesn't come from making the same ad better. It comes from making different ads that each hit a different pocket of your market.
Find the angles. Build separate creative strategies around each one. That's how you grow past your starting audience.
You just received 100 ads. How do you test them with a $500/day budget?
It depends on the state of your account.
**Account is bleeding and you need winners now**
→ Split the 100 ads into 3 batch test ad sets in one ABO
→ Highest volume optimization
→ Let Meta pick its favorites in each ad set
→ Marble block method: duplicate the winners to scaling, turn the winners off inside the batch ad set, let Meta pick the next round, repeat
→ Speed over learning. You don't have time to test cleanly.
**Account is healthy and you want to learn what's working**
→ Group the 100 ads by concept
→ Run 4-5 concepts at a time, one ad set per concept, 4 ads max per ad set
→ Each ad set gets $100-125/day at this budget
→ Run for at least 4-5 days before judging
Heads up: at $500/day you can only afford to run about 5 ad sets at a time. If you have 15-20 concepts you're going to be cycling through them slowly. You won't be able to test everything at once.
The difference comes down to time.
Bleeding accounts need winners fast. You batch test and accept you'll miss some good ads in the process.
Healthy accounts have the runway to test methodically. You learn which angles actually resonate and build a library of proven concepts.
Match the approach to the situation.