Paid Media
Meta Ads built on real signal, not reported ROAS.
Post-iOS 14, most Meta Ads accounts are running on broken data. The pixel is under-reporting. The algorithm is allocating budget to audiences based on stale signals. The reported ROAS is inflated because Meta is claiming credit for organic conversions. Fixing Meta starts with fixing the signal, then rebuilding the campaign architecture around data you can actually trust.
Why most Meta Ads accounts underperform.
The failure modes are consistent across every account we audit. Every one of them traces back to the same root cause: the algorithm is making decisions on incomplete data.
The Pixel is under-reporting by 40–60%.
iOS 14 Intelligent Tracking Prevention and browser restrictions mean your browser-based Pixel is missing at least 4 in 10 conversions. Meta sees fewer purchases, so it claims credit for organic ones to fill the gap. Your reported ROAS is fiction. The algorithm is optimising for an audience that includes people who were going to buy anyway.
Signal quality is below 6 and nobody has checked.
Meta Events Manager shows a signal quality score for every event. Below 6 means the algorithm is working with degraded data. Below 4 means it is effectively blind. Most accounts have never been audited for signal quality. The score is sitting there, and nobody is looking at it.
Campaign structure violates learning phase requirements.
Too many ad sets splitting the budget, each with too few weekly conversion events to exit the learning phase. An ad set needs 50 conversion events per week to train properly. Accounts with 20 ad sets and ₹2L/month budget will never exit learning. The algorithm never stabilises and performance is perpetually inconsistent.
Creatives are not being tested, they are being rotated.
Launching 10 creatives simultaneously in one ad set is not creative testing. It is a rotation. There is no hypothesis. There is no control. The winner is whichever creative happened to run during a high-intent period. Without a structured test design, creative learnings cannot be extracted and applied to the next iteration.
Audiences are based on interest targeting, not purchase data.
Interest-based audiences are Meta's weakest signal. The strongest signal is your own purchase data, CRM exports, customer email lists, and Pixel events seeded as custom audiences and lookalikes. Most accounts are not doing this, or are doing it with stale data that is more than 180 days old.
There is no incrementality test and nobody knows what Meta is actually driving.
Meta reports attribution based on view-through and click-through windows. Without a geographic hold-out test, it is impossible to know how much of the reported revenue is truly incremental versus what would have happened without the ads. Spending more on an unvalidated channel is a gamble, not a strategy.
How we manage Meta Ads.
Signal first. Architecture second. Creative third. In that order, every time.
Fix the data before changing the campaigns
- Meta Events Manager audit, duplicate events, missing events, and signal quality gaps identified
- Browser Pixel deduplication, single canonical Purchase event with deduplication keys
- Server-Side GTM container, deployed on first-party subdomain to bypass browser restrictions
- Meta Conversions API (CAPI), server-to-server purchase event transmission with order data enrichment
- Pixel match rate lift, targeted above 70% through email and phone number hashing
- Signal quality benchmark, baseline score documented; target of 8+ set before campaign restructure begins
- Incrementality test design, geo hold-out test plan to measure true incremental ROAS
Structure that lets the algorithm learn
- Campaign consolidation, ad sets merged to concentrate conversion volume above the 50-event-per-week threshold
- Advantage+ Shopping Campaigns (ASC), for e-commerce, CAPI-powered ASC with dynamic product ads
- Prospecting hierarchy, Advantage+ audience prospecting seeded with CAPI purchase events
- Sequential retargeting, stage-based retargeting (awareness → consideration → conversion) with frequency caps
- CRM audience strategy, Klaviyo or CRM customer list → custom audience → LTV-weighted lookalike
- Exclusion architecture, existing buyers suppressed from prospecting to prevent waste
- Value-based bidding, conversion value optimisation enabled once CAPI provides value signals
Hypothesis-driven creative iteration
- Creative audit, existing library assessed for format, message, and hook type
- Testing framework, one variable per test (hook vs. hook, format vs. format, offer vs. offer)
- Creative brief, each test round has a documented hypothesis and decision rule
- UGC integration, user-generated content and customer testimonial formats sourced and tested
- Winning element extraction, what specifically worked (hook, visual, CTA) documented for next iteration
- Creative refresh cadence, new creatives on a 3–4 week cycle to prevent fatigue
Weekly decisions from clean data
- Looker dashboard, blended CAC, true ROAS (hold-out adjusted), CPP, and ROAS by campaign weekly
- Weekly optimisation, budget reallocation based on CPA and ROAS data, not reported impressions
- Monthly creative review, performance by hook, format, and message; brief for next creative round
- Quarterly strategy review, audience, offer, and funnel structure reviewed against pipeline data
What is included in Meta Ads management.
Technical Setup
- CAPI server-side implementation
- Browser Pixel deduplication
- GTM server container
- Events Manager audit
- Signal quality monitoring
- Pixel match rate optimisation
Campaign Management
- Full campaign architecture
- Advantage+ prospecting
- Sequential retargeting
- CRM audience seeding
- Lookalike audience strategy
- Exclusion and suppression lists
Creative
- Creative audit
- Testing framework
- Brief for each test round
- UGC sourcing direction
- Ad copy writing
- Creative fatigue monitoring
Reporting
- Weekly Looker dashboard
- True vs. reported ROAS tracking
- Hold-out incrementality test
- CAC by campaign
- Monthly creative review
- Quarterly strategy audit
This is right for you if:
- D2C and e-commerce brands spending ₹5L+ per month on Meta with ROAS that does not match Shopify revenue
- B2C businesses where Meta is the primary acquisition channel and signal quality has never been audited
- Brands running Advantage+ campaigns without CAPI, leaving the algorithm half-blind
- Companies that have tried 3+ Meta agencies without a consistent ROAS improvement
- Businesses that want to know their true incremental ROAS before scaling spend
Not the right fit if:
- Businesses spending below ₹2L/month on Meta, the CAPI infrastructure investment requires sufficient spend volume
- B2B companies with long sales cycles where Meta is not a primary acquisition channel
Frequently asked questions.
What is CAPI and why does it matter?
The Conversions API (CAPI) is a server-to-server integration that sends purchase and conversion data directly from your server to Meta, bypassing the browser restrictions that block the Pixel. Where a browser Pixel might capture 40–60% of conversions post-iOS 14, a correctly implemented CAPI setup captures 90%+. More signal means better algorithm decisions, better audience targeting, and lower cost per result.
Is Advantage+ the right campaign type for us?
Advantage+ Shopping Campaigns (ASC) are Meta's highest-performing campaign type for e-commerce when CAPI signal is strong. For lead generation and brand awareness, standard Advantage+ Audience campaigns with manual audience controls often outperform full ASC. The right campaign type depends on your objective, funnel stage, and the quality of your conversion signal.
How do you measure true ROAS rather than Meta's reported ROAS?
We design a geographic hold-out test, running campaigns in some regions while pausing them in matched control regions, to measure the actual incremental revenue driven by Meta versus what would have occurred organically. This is the only rigorous method to establish true incrementality. It takes 3–4 weeks to run and produces a multiplier we apply to reported ROAS to get the true number.
How often do you change creatives?
Creative fatigue tracking determines the cadence, we monitor frequency, CPM trends, and CTR decline to detect fatigue. Typically a creative needs refreshing every 3–5 weeks at moderate spend levels. We maintain a 6–8 creative rotation so there is always a next creative ready when fatigue signals appear.
Can you manage both Facebook and Instagram through the same account?
Yes, Meta Ads Manager runs both platforms from a single account. We optimise placement mix based on which placements are delivering the strongest results for your objective and audience. Instagram Reels and Stories typically outperform Facebook Feed for D2C brands targeting under-35 audiences; Facebook Feed and right-column ads often outperform for older demographics and B2C service brands.
Ready to find out what your Meta Ads are actually driving?
Start with a signal audit. In 30 minutes we will tell you exactly where your data is broken and what fixing it will do to your performance.
Book a call