Meta Ads Management
Meta ads, with the pixel actually working
We have opened accounts where the pixel had been dead for three years and nobody had noticed, which quietly puts conversion optimisation out of reach entirely. Half of this job is making sure the platform can see what happened after the click.
The problem, as we usually find it
What is actually going wrong on most of the sites we are called into — before anything about what we would charge.
Meta advertising has a specific failure mode: everything looks like it is working. The campaign spends, the dashboard shows results, and the platform reports conversions that never appear in your order list.
That gap is almost always measurement. We have opened accounts where the pixel had been dead for three years while campaigns were still being optimised for conversions — quietly impossible, and nobody had noticed because the interface never says so.
Half of this job is making sure the platform can actually see what happened after the click. The other half is choosing an objective the account has enough history to learn from.
What the work covers
Everything below is included. If something is not on this list, we quote it separately rather than leaving you to find out later.
Pixel and dataset health
Events firing, deduplicated, and matched — checked, not assumed.
Campaign structure
Objectives chosen against what the business can actually prove, not the objective with the best-sounding name.
Creative testing
Structured tests where one thing changes at a time, so a result means something.
Catalogue and dynamic ads
Product feed connected properly, for stores with something worth retargeting.
Reporting
Spend against real orders, with the gap between platform-reported and actual stated plainly.
Conversions API where it helps
Server-side events alongside the pixel, deduplicated, so attribution survives browser restrictions.
Creative production
Static and carousel made for your brand. We show you the direction before anything runs.
Audience architecture
Custom audiences, lookalikes and exclusions built so campaigns stop competing with each other.
Placement control
Where ads actually appear, rather than leaving everything on automatic and hoping.
What we have actually found
Real numbers from real accounts. We never publish client names, so the businesses are described rather than identified — the figures are exactly as we found them.
3 years
a pixel had been dead on an account still being optimised for conversions
Traffic first
the objective we chose for a store with no order history, because conversion campaigns need conversions to learn from
USD
one ad account billed in dollars while every budget was being written as rupees
1,600 km
from the venue that one day of event ads was delivered, because a saved city code resolved somewhere else entirely
8.5 → 1.0
an audience-exhaustion crisis that turned out to be a reporting artefact, caught before the fix was applied
The detail that decides it
The part most quotes leave out, because it takes experience rather than a price list.
Pixel and dataset health, checked rather than assumed
Events firing is not the same as events firing correctly. We check that each one fires once rather than twice, that values are attached where they should be, and that browser and server events are properly deduplicated rather than double-counting every purchase.
Match quality matters more than most people realise. Poor parameter matching means Meta cannot attribute conversions it genuinely caused, which makes your real performance look worse than it is and pushes you to switch off things that were working.
We do this before touching a campaign, because every optimisation decision after it depends on the data being true.
Choosing an objective the account can learn from
A conversion objective needs conversions to learn from. Roughly fifty per week per ad set is the commonly cited threshold, and a new store has none of them.
We set a store with no order history to a traffic and messaging objective rather than conversions, precisely because there was nothing for the algorithm to optimise toward. Running conversions there would have spent the budget teaching the system nothing.
It is a less impressive-sounding recommendation, and it is why the account had orders to optimise against later.
Testing where the result means something
Structured tests, one variable at a time. Two creatives with different images, different copy and different audiences do not produce a result, they produce an anecdote.
Creative is usually the highest-leverage variable on Meta, well ahead of targeting. We produce static and carousel creative in-house and show you the direction before anything runs.
Results get read against a real sample. Calling a winner after two days and four hundred impressions is how accounts end up chasing noise for months.
Two settings that will spend your money in the wrong place
Currency. An account we inherited was denominated in dollars while the store, the prices and every customer were Indian. Its budget fields are therefore dollar *cents* — so a daily budget entered as an Indian rupee figure is out by a factor of roughly eighty-eight. An intended ₹1,200 a day went in as $1,200 a day and was caught only by reading the currency back out of the platform's own response. We now read it back on every account before a budget is set, because it cannot be changed afterwards without opening a new account.
Location codes. Meta targets cities by numeric code, and a wrong code does not fail — it delivers perfectly, to the wrong people. A saved code we believed was Mumbai resolved to a village in Odisha, and a full day of ads for a Mumbai event ran roughly 1,600 kilometres away: 24,890 impressions, 149 clicks, no registrations.
The tells were subtle and worth knowing. A day-one frequency of 2.24, which a city-sized audience cannot reach that fast, and unusually cheap clicks producing almost no landing page views. We now target by latitude and longitude with a radius instead, because coordinates can be checked against a map and Meta echoes back the city it resolved them to — a free confirmation that you aimed at the right place.
A number that implies an expensive fix deserves one more look
A campaign read 4,621 impressions against 546 people reached — a frequency of 8.5, which is a textbook audience-exhaustion story. It produced two recommendations and a paragraph that had already gone to the client.
It was an artefact. When WhatsApp Status is in the placement mix, impressions count it and reach does not, so the ratio is meaningless. Broken out per placement, every single one sat between 1.0 and 1.2 — no exhaustion anywhere. The proposed fix could not even have been applied, because the placements were already fully open.
We corrected it with the client rather than quietly moving on, and it became a rule we now apply everywhere: when a metric implies spending money to fix it, confirm it a second way first. Most of what looks like a crisis in an ad account is a reporting shape.
When we will tell you not to run the campaign you asked for
A store came to us wanting a sales campaign. It had never taken an order — not one, ever — and its pixel had recorded no purchase since it was installed.
Purchase optimisation learns from purchases, and it needs roughly fifty a week per ad set before it has anything to learn from. Pointing it at zero is not a slow start, it is a campaign with no signal, spending while it waits for information that is not coming.
So we ran traffic and WhatsApp conversations instead, at a deliberately small daily budget, and said plainly that the sales objective gets revisited once real orders exist. Cost per result improved every day of the first week. It was the smaller ask and it was the right one — and if that means a smaller invoice for a few months, it still beats spending your budget teaching an algorithm nothing.
Reconciling platform numbers with reality
Meta will report more conversions than your store records, every time. Attribution windows, modelling and cross-device all inflate it. That does not make it useless — it makes it a number that needs a known relationship to your actual orders.
Each month we state the gap plainly: platform-reported against orders actually received. Once you know that ratio you can make decisions with the platform number. Without it you are guessing.
One practical note worth raising early: check what currency your ad account is billed in. We have found accounts denominated in dollars while every budget was being set as though it were rupees.
What we need from you
Short, and worth reading before you start. What delays this work is almost never the work — it is waiting on access or a decision.
Business Manager access
Your Business Manager, your ad account, your card. We take a partner role inside it and you keep everything if we stop.
Facebook Page and Instagram account
Ads run from them, so they have to be connected properly and linked to the same Business Manager.
Website access for the pixel
To verify events fire once, carry values, and deduplicate against server events.
Product photos or raw footage
We produce the creative, but we cannot invent product imagery. Whatever you have is a starting point.
Confirmation of your billing currency
Worth checking on day one. We have found accounts billed in dollars while every budget was being written as rupees.
Whether this is right for you
We would rather lose the enquiry than take work we would do badly, so the right-hand column is as honest as the left.
This is for you if
- You are running Meta ads and the reported results do not match your orders
- Your pixel or dataset has never been properly verified
- You want creative produced as well as campaigns managed
- You sell in India and want someone who will say when the objective is wrong
This is not for you if
- You want conversion campaigns on an account with no purchase history
- You expect platform-reported ROAS to equal real revenue; it never does
- You want us to run ads from an account we control rather than yours
- Your product has no visual angle at all and no budget for creative
How it runs
Four steps, in this order, every time.
- Pixel, dataset and catalogue get verified before any campaign is built.
- The objective is chosen against what the account can actually learn from.
- Creative and audience tests run structured, one variable at a time.
- Reporting reconciles platform numbers against real orders every month.
The Stack We
Work In Every Day
Every platform below is one we build on, maintain, rank and report from — not a logo wall.
Questions
Yes, static and carousel. We produce our own creative in-house and we will show you the direction before anything runs.
Yes, but not on a conversion objective. Traffic or messaging first until there is enough history to optimise against.
You do. We work inside your Business Manager and you keep access when we stop.
Want free stats on your site first?
Send us the URL. We pull the numbers from your own accounts and tell you what is wrong before there is any quote, and before there is any contract.
No pitch deck, no obligation. Bring your URL and we will look at it together.