Imagine you hire a team to hand out flyers at the weekend market down the road. They come back with a suggestion: "Can we put one of our people at your shop door? He'll hold a little clicker. Every time someone walks in with one of our flyers, he clicks once. Every time someone pays, he clicks the other counter. At the end of the month you'll know which flyer run actually brought people in."
That sounds great, and most shop owners want exactly that. Think about it a little longer, though, and more questions show up. Whose employee is the man at the door? Does his notebook stay in your shop, or does it go back to the flyer company every night? Can he count the people who come in through the back door, or the ones who simply phone in an order? And before he writes down who walked in, does anyone ask the customer?
When the person running your Facebook ads says "we need to install the Pixel on your website," this is what they are asking for: the man with the clicker at your door. Its official name is the Meta Pixel, though plenty of people still call it the Facebook Pixel.
In this article I'll explain what the Meta Pixel does in plain shop-owner language, which events are worth setting up, why Ads Manager never quite matches your real sales, what the Conversions API your agency mentions actually adds, who should own the data, and why on a Thai website consent comes first.
Three checks you can do in under ten minutes
Before the explanation, I'd like you to look at your own site. You don't need to be a developer for any of this.
Start with the source. Open your homepage on a computer, right-click, choose "View Page Source", press Ctrl+F and search for fbq. If you find a line with fbq('init' followed by a long number, a Meta Pixel is installed in the code, and that number is the Pixel's ID. Write it down. If you don't find it, the Pixel may still be there through Google Tag Manager, which doesn't show up in the source directly.
Next, install the Chrome extension called Meta Ads Data Advisor, which is the current name of the old Meta Pixel Helper, and open your website. It will tell you how many Pixels it found and which events each page sends. If you see two or three Pixels on one site, that is usually the trail left by several past agencies.
Finally, log in to Meta Business Suite with the account you use to run your business Page, go to Settings, then Data sources, then Datasets. If you can see the same ID you wrote down, congratulations: this data lives in your house. If you can't see it at all, the doorman's notebook is currently kept at somebody else's company.
If all three checks pass, this article will simply help you talk to your agency with more confidence. If one of them tripped you up, read on and you'll know where to start.
What the Meta Pixel actually is
Meta's Business Help Center puts it briefly: the Meta Pixel is a piece of code you put on your website, and it lets you measure how effective your Meta advertising is by understanding the actions people take on your site. Once it's set up, the Pixel logs each time someone takes an action. Meta calls those actions events, and they flow back to the ad system behind Facebook and Instagram.
The ad system uses them in more than one way. The obvious use is measurement: what did people do on your site after seeing or clicking an ad? The same data also teaches the bidding system who to look for. If you tell it you want form submissions, it first has to learn what a form submitter looks like. And it lets you build audiences, such as people who visited your pricing page but never got in touch, so you can show them another ad later.
On installation, Meta's own guide recommends placing the base code in the head section of every page, and also says the Pixel works in most tag management tools. So your web team can put it in the code directly, or your agency can add it through Google Tag Manager. Either is fine. Just pick one.
The events most small businesses actually need
A Pixel with only the base code knows which pages people opened, which isn't much for the ad system to learn from. What makes the Pixel useful is telling it which moments matter to your business. Meta's developer documentation lists more than ten standard event names, but most small businesses only need a couple.
If your website collects enquiries through a form, the main one is Lead, which Meta defines as a completed sign-up. Make it fire when the form has genuinely been submitted, not when someone clicks the button.
If most of your customers tap a call button or an "add us on LINE" button, the closest fit is Contact, which Meta defines as a person initiating contact with your business by phone, SMS, email, chat and so on. Keep in mind that the Pixel only sees the tap. It has no idea whether the LINE chat that followed turned into a sale.
If you run an online shop with a cart and checkout on your site, the key event is Purchase, and Meta's reference says it requires currency and value, meaning the currency and the amount of that order. Clinics and shops that take bookings on the website also have a Schedule event, meant for booking an appointment to visit a location.
For a small business I suggest starting with the one or two events closest to money. Set them up correctly and make sure each fires once per action. That beats ten events nobody trusts.
Some data must never go into the Pixel
Clinic owners and anyone in financial services should know this one. Meta's Help Center says Pixel users must make sure no prohibited information is shared with Meta, and that includes health data, financial data and children's data. It also recommends regularly reviewing your event names, parameters and URLs.
In practice, that means not naming events or pages in a way that reveals a specific patient's condition or treatment, and not letting what customers type into a form end up in the URL of your thank-you page, because the Pixel sees that URL too.
Why Ads Manager never matches your real sales
This is the question owners ask me most often, and the honest answer is that it was never designed to match.
Start with the side where Ads Manager counts more than you see. According to Meta's page on attribution settings, conversions are credited to an ad within a time window: click-through counts events within 1 day or 7 days after a link click on the ad, and view-through counts events within 1 day after the ad was shown (Meta adjusts these defaults from time to time, so check the attribution setting in your own account). Picture a customer who scrolled past your ad last night, searched your shop's name on Google this morning and ordered. Ads Manager may credit that order to the ad, while GA4 may credit it to Google. Neither is lying. They just play by different rules.
Then there is the side Ads Manager can't see at all. Customers who saw the ad and then ordered on LINE, phoned to book or walked into the shop never touched the website, so the Pixel had nothing to count. Add people using ad blockers, or browsers that didn't load the script properly, which Meta itself acknowledges as a gap. That gap is where the next tool comes in.
So Ads Manager can over-count where channels overlap and under-count whatever doesn't pass through the website. Its numbers are good for comparing campaigns with each other, not for replacing your shop's books.
What the Conversions API adds
Back to the shop. The man at the door counts well on a normal day, but when it gets crowded or the lights go out, some people slip past uncounted. The Conversions API is like adding a second counter at the till. Every time your shop's system issues a receipt, this person reports it to Meta directly from the back office, without relying on the customer's browser.
Meta's Conversions API overview says data from the Conversions API is less affected than the Meta Pixel by browser loading errors, connectivity issues and ad blockers, and that using it alongside the Pixel creates a more reliable connection. The same page notes there are several ways to set it up, and many of them don't need a developer.
The natural next question is whether two counters mean every order gets counted twice. Meta's developer documentation covers this. Meta recommends running both together as a redundant setup, and it removes duplicates when the Pixel event and the server event share the same event name and the same event ID (event_id). Deduplication works within 48 hours of the first event with that ID. Without the ID, Meta's fallback matching is limited, so always send event_id.
The one sentence I'd like owners to remember is this: "Does our Conversions API send the same event_id as the Pixel?" Asking your agency that single question prevents most double-counting problems.
"Why not let the agency create the Pixel? It's easier."
It genuinely is easier, and I won't argue with that. Most agencies set up Pixels far better than business owners can, and creating it in their own account means the work can start the same day.
What I'd ask you to think about is where the data lives. In Meta's system, what the Pixel collects sits in a dataset, and every dataset belongs to someone's Business portfolio. According to Meta's guide to adding a partner to a dataset, you need a business portfolio that owns the dataset, you need full control of that portfolio, and your partner needs its own separate business portfolio. Another Meta help page adds that a partner with full control can manage everything but cannot share the asset with another business. Only the organisation that owns it can.
In shop terms: if the Pixel was created in the agency's portfolio, then on the day you change agencies, the whole notebook stays with them. The new agency may have to start a fresh Pixel from zero, the ad system has to learn again, and the audiences you built up don't come with you.
What we recommend is that the business creates its own Business portfolio, keeps the dataset there, and adds the agency as a partner with the access the job needs. The agency can do everything it did before. The only difference is that the man at the door now works for your shop. The same thinking applies to your domain, hosting and every account connected to your website.
Consent first, then the Pixel starts counting
The Pixel collects data from visitors' browsers, including cookies and activity. If your site already shows a cookie banner, it's worth checking that the Pixel actually listens to it. Plenty of sites have a nice-looking banner while the Pixel fires before the visitor has clicked anything.
Meta provides commands for exactly this. Its developer documentation explains that you call fbq('consent', 'revoke') before the Pixel starts, which pauses sending, then call fbq('consent', 'grant') once the visitor agrees, and that revoke needs to be called on every page. If your site already uses a tag manager or a consent management tool, this is usually configured there.
As for the legal question of what kind of consent your website needs, I'll leave that to legal professionals and to Thailand's Personal Data Protection Committee office (PDPC). We are a web team. What we can do is make sure the tools behave the way you intend. If you'd like an overview before speaking to an adviser, I've summarised it in our article on PDPA and your business website.
Start early and the data compounds
Pixel data behaves just like a shop's notebook.
A day that wasn't written down is gone, and you can't go back and fill it in. If today you put the dataset in your own portfolio, set up the main events properly and connect them to consent, then every month from now on the ad system learns from one continuous set of numbers. However many agencies come and go, the history stays with the shop, and the people who visited your site are still there to reach again.
On the other hand, if every agency creates its own Pixel, each handover means counting from one again, and your pages slowly collect Pixels nobody uses. Each one is another script the browser has to load. If you want to understand how speed affects sales, have a look at our article on how website speed affects SEO and sales.
The minimum version for a small business website
If you don't want to think about it too much, here is the minimum our team recommends: one Pixel per website, living in the business's own Business portfolio, at least two people in the company with full control, one or two money-closest events that fire once per action, and a Pixel that waits for consent before it sends anything.
In our view the Conversions API is the next step once you advertise continuously and want steadier numbers. You don't need it on day one, even though Meta itself recommends pairing it with the Pixel. When you do add it, it must come with a matching event_id every time.
Real examples you can look at
If you want to see how a large platform handles this, look at Shopify. Shopify's guide to data-sharing levels with Meta splits its Facebook & Instagram app into levels. At Standard, a Meta Pixel collects browsing behaviour in the store. From Enhanced upward, the store uses the Conversions API as well as the Pixel and shares customer details such as names, email addresses and phone numbers for matching. The same guide reminds merchants that data sharing is a choice and that they should tell customers through an updated privacy policy. It's a good illustration that pairing the Pixel with the Conversions API is normal, and that consent travels with it.
On the checking side, Meta describes Meta Ads Data Advisor, the extension from the second check above, as a free Chrome extension. Beyond showing whether the Pixel fires, it can now help set up data connections. Events Manager also lets you see the events actually arriving in each dataset.
None of this is unique to Meta. The TikTok Pixel and the LINE Tag follow the same idea: code on your site that reports events back to that platform's ad system. The questions about ownership and consent apply to all of them.
What happened on our own website
Let me share our own experience. These stories come from Google tags on the TumWebSME website, but every lesson carries over to the Pixel.
After we rebuilt our site in 2026, the Google Ads conversion tag went live with the site, but it sat in the wrong place and wasn't actually running on the live site. For roughly a week after the ads launched, clicks came in as usual but conversions read zero every day. Looking at the numbers alone, anyone would have concluded the ads didn't work. Since then our rule has been that "installed" isn't enough. You have to see the tag fire on the live site with your own eyes, which for the Pixel means opening Meta Ads Data Advisor on the page your customers really see.
Data ownership has bitten us too. During the rebuild we found our old GA4 property was one nobody on the current team could access. In the end we created our own property under the company's own Analytics account and started collecting from zero. That is exactly the picture of a Pixel sitting in a former agency's portfolio.
On consent, our site uses Consent Mode v2 so Google's tags adjust what they collect based on the visitor's choice. It is the same principle as the Pixel's revoke and grant commands.
A five-step plan for this week
Search your page source for fbq and open Meta Ads Data Advisor to count how many Pixels your site has. Note the IDs.
In Meta Business Suite, go to Settings, then Data sources and Datasets, and check whether that Pixel sits in your business's portfolio. If it doesn't, talk to your agency about moving it or creating a new one in your own house.
Add the agency as a partner on the dataset with the access you've agreed, and make sure at least two people in your company have full control.
Pick one or two main events such as Lead or Purchase, then submit a test form or place a test order yourself and confirm it fires exactly once.
Check that the Pixel waits for consent: open your site in a fresh window and look at Meta Ads Data Advisor before clicking the banner.
How to tell whether the numbers can be trusted
Once things are tidy, I recommend a small weekly habit. Put the number of Leads or Purchases in Ads Manager next to the number of real enquiries or real orders for the same week. They won't be equal, for the time-window reasons above. What matters is whether the ratio between them stays steady. If one week it suddenly doubles while real sales stay flat, suspect double counting first. If it drops to zero while clicks keep coming, suspect the Pixel was removed during a website change.
Chat is the other blind spot no tool will ever see. On our team, sales staff ask every customer who calls or messages on LINE, "Where did you find us, and what did you search for?" and write it down, because LINE conversations are where the Pixel can't reach. Numbers from tools and notes from people have to be read together. If you want to go deeper on this side of the numbers, I've written about it in our article on conversion rate.
Back to the man at the door
Most shop owners never stand at the door counting people themselves, and they don't need to. The man with the clicker does that job well. All you need is for him to work for your shop, for the notebook to stay in the shop, for each customer to be counted once, and for someone to ask the customer before anything is written down.
The Meta Pixel is the same. Your agency can do all the setup. You just hold the ownership and know what it's counting. On the day you change flyer teams, the shop still has every month's notebook, complete.
If you're planning a new website and want every measurement account in your business's name from day one, take a look at what TumWebSME's website packages include, then tell us a little about your business. We'd be glad to hear from you.
Follow TumWebSME
Follow us for insights on website development and online marketing:
Facebook: TumWebSME Business Website Development
Instagram: @tumwebsme
TikTok: @tumwebsme
YouTube: TumWebSME
Contact Us and Inquire About Services
088-983-9386 (Ploy)
099-856-3198 (Saennan)




