A Meta Custom Audience is an audience built from your own data or from people who have already interacted with your business, rather than a group picked out of the interest categories Meta provides. In plain terms it tells the system to show ads to this specific set of people: those who visited your site, watched your video, messaged you, or already sit in your customer file.
The name gets confused with two other things. One is a lookalike audience, which lives on Meta as well but works in the opposite direction. The other is Google's custom intent audience, which is a different platform and a different mechanism entirely. This guide separates all three, then walks through uploading a customer list, the size minimums worth knowing, what Thailand's PDPA means for the upload, and how to build a retargeting audience from the Pixel.
What a Meta Custom Audience is
It is an audience assembled from data on your side rather than from inferences Meta makes about people. The sources fall into two groups.
Your own sources cover website visitors captured through the Pixel or your Meta dataset, activity in your app, a customer list you upload, offline activity you import, and people who browsed items in your catalogue.
Meta sources cover people who watched your videos, people who opened or submitted a lead form, people who engaged with your Facebook Page or Instagram profile, people who responded to an event, and people who opened an Instant Experience.
What all of these share is that the people in them have already met your business, which is why cost per result is usually better than for prospecting audiences: you are not paying to introduce yourself from zero. The flip side is that the size of the audience is capped by the size of your business. It can never grow beyond the number of people who genuinely encountered you, which is why custom audiences alone cannot drive growth, and which leads directly to the next tool.
How a custom audience differs from a lookalike audience
They point in opposite directions. A custom audience aims back at people who already know you. A lookalike audience takes that group as a seed and asks the system to find new people whose behaviour patterns resemble it. Nobody in a lookalike audience has heard of you.
One condition matters before you can build one: the seed source needs at least 100 people from a single country. If your list is scattered across several countries with only a few dozen people in each, the system will not create it. During setup you also choose a size expressed as a percentage of the chosen country's population, from 1 percent to 10 percent. A lower percentage means closer resemblance to the seed but a smaller pool, and a higher percentage means a bigger but more diluted pool.
The quality of a lookalike is decided by the quality of the seed, not by its size. Seeding from repeat buyers or high value customers produces something visibly different from seeding on all website visitors, because the second group is padded with people who arrived by accident and left immediately. If lifetime value data exists in your back office, adding a value column during the customer list upload lets the system weight the better customers more heavily.
The sensible order of operations is to build out custom audiences first, use them both for follow up and as exclusions, and only then extend into lookalikes. Starting with lookalikes on day one, before there is clean customer data to seed from, produces a weak seed and results that reflect it.
How it differs from Google's custom intent audience
The platform and the input data are both different. A custom intent audience lives inside Google Ads rather than Meta, and it is built from interest signals Google observes, such as the terms people search, the sites they visit and the apps they use. You tell the system which searches or which sites you care about, and Google assembles a group of people matching that. Nobody in that group needs to have heard of your business. Google now groups these tools under the name custom segments in the audience manager.
The differences that actually change decisions:
- A Meta custom audience starts from data your business already holds, while a Google custom intent audience starts from search terms and websites you nominate.
- A custom audience addresses people who have met you, while custom intent finds new people currently looking for what you sell.
- The real Google equivalent of a custom audience is Customer Match, which uploads your customer list into Google Ads. It is not custom intent.
| Tool | Input data | When to use it |
|---|---|---|
| Custom Audience (Meta) | Pixel data, customer lists, Page and Instagram engagement | Following up with people who know the brand, and as exclusions |
| Lookalike Audience (Meta) | A custom audience holding at least 100 people from one country | Expanding to new people similar to existing customers |
| Custom intent or custom segment (Google) | Search terms, URLs and apps you specify | Finding new people on Display and YouTube from interest signals |
| Customer Match (Google) | A customer list uploaded into Google Ads | Reaching existing customers across Google properties |
The confusion has budget consequences, because teams treating the two as the same thing set the wrong expectations and then compare the cost per result of a warm audience against one meeting the brand for the first time. Cross platform planning should separate those roles from the start, on the Facebook Ads side as much as on the Google Ads side.
How to upload a customer list into Meta
The flow sits in Ads Manager under Audiences, where you create a custom audience and choose the customer list source. Before you get there, prepare the file.
- Export the list from your back office as a CSV with each identifier type in its own column, one type per column.
- Clean the data: strip leading and trailing spaces, lowercase all email addresses, and format phone numbers with the country code in front, which for Thailand means 66 with the leading zero removed.
- Include as many identifier types as you have, such as email, phone, first name, last name, city, country and postcode. More columns generally means a higher match rate.
- If you hold customer value data, add a value column so you can build a value based audience from it later.
- Upload the file, map every column header to the correct identifier type, and confirm.
On data security, the mechanism is worth understanding precisely. Identifiers are hashed with the SHA-256 algorithm before they leave your machine. When you upload a plain file through Ads Manager, the browser hashes it locally and sends only the hashed values. When you send data through the API instead, you have to apply SHA-256 hashing yourself before sending. Hashing is a one way transformation that cannot be reversed, so the matching happens between hashed values on both sides.
After the upload, the audience takes a while to process before it becomes usable. The match rate will never be complete, because a share of your customers signed up to Facebook with a different email or phone number than the one they gave you. Always upload more rows than the audience size you need, and put list refreshes on a schedule, monthly for example, since an uploaded list stays frozen and does not grow as your customer base does. For online stores, piping customer data across automatically removes most of that manual work, which is something an ecommerce marketing setup should handle from the beginning.
What is the minimum audience size
The number that can be stated with confidence is on the lookalike side: the seed source needs at least 100 people from a single country. For custom audiences themselves, rather than memorising a figure from articles that disagree with each other, read the status Meta shows in the Audiences tab. The system says whether the audience is ready or still too small, and the audience size estimator in ad set setup warns you when the targeting is too narrow to deliver.
In practice, a more common problem than the floor is a small audience driving frequency through the roof. When an audience holds a few thousand people and the daily budget is high, the same people see the ads several times a day within a week. The result is irritation, falling response rates and a rising cost per result, in the audience that should have been the cheapest in the account. The fix is to bring budget back into proportion with audience size, or to merge several small audiences into one that is large enough.
Also worth knowing: the size shown is an estimate rather than an exact count, and it moves as data ages out of whatever retention window you set. A 30 day website audience only holds steady while site traffic holds steady. In a slow month it shrinks on its own without you changing a thing.
What PDPA means for uploading customer data
Thailand has the Personal Data Protection Act, known as PDPA, in force. Uploading a customer list to an advertising platform counts as using personal data and disclosing it to another party, so it needs a lawful basis, and for marketing use that basis is commonly the consent of the data subject. This section points at what to check and is not legal advice. Interpretation and risk assessment belong with your data protection officer or your legal counsel.
Questions to put to legal or your DPO before the first upload:
- At the point of collection, did your notice cover marketing use and disclosure to advertising platform providers?
- Do you hold auditable evidence of consent showing who consented, when, through which channel, and against which version of the wording?
- When somebody withdraws consent or asks for deletion, does your process extend to removing them from files already uploaded and from audiences already built?
- Does the data you plan to upload contain sensitive categories, such as anything indicating health or beliefs, which carry stricter conditions than ordinary data?
- How are the legal roles between your organisation and the platform documented in the contract and data terms?
- On the Pixel side, do you have a cookie consent banner that holds tracking scripts back until the user accepts?
The visible effect inside the ad account is that once the site gates scripts behind consent, retargeting audiences come out smaller than before. That is normal and worth expecting in advance. The way to compensate is to raise the quality of the data you do have permission to use, for example by collecting email addresses through a membership programme with a clear benefit attached, rather than depending on browser signals alone.
How to build a retargeting audience from the Pixel
Start by confirming the Pixel or dataset is installed and genuinely sending events. Open Events Manager and check whether events arrived in the last 24 hours. If you are unsure, fire a test from the browser using the event testing tool first. Then the audience itself:
- Go to Audiences in Ads Manager, create a custom audience, and pick website as the source.
- Select the dataset you want, matching the one installed on the site if you have several.
- Set the rule. You can take all visitors, people who visited pages whose URL contains a given string, people in the top percentage by time spent, or people who fired a specific event such as viewing an item, adding to cart or completing a purchase.
- Set the number of days to keep people in the audience.
- Name the audience so the rule and the window are readable from the name itself, which matters once there are dozens of them.
The available retention windows depend on the source. Website audiences hold people for up to 180 days. Audiences built from video views and from engagement with a Facebook Page or Instagram profile hold up to 365 days. An uploaded customer list has no time window at all, but it sits frozen until you upload a new file over it.
A structure that works for online stores splits audiences by recency and by depth of behaviour: people who added to cart within 7 days as one audience, people who added to cart between 8 and 30 days ago as another, and people who viewed an item without adding to cart as a third. Then set purchasers as an exclusion on every ad set pushing a first purchase. Messaging should differ by recency, because somebody who abandoned a cart yesterday is in a different state from somebody who abandoned one three weeks ago. The same logic carries over to remarketing on other channels.
What to account for in the Thai market
Customer data in many Thai businesses lives in chat rather than in forms. Customers message in, the sale closes in the conversation, and an email address never gets typed into the website. The exported list therefore often holds phone numbers with no emails, which still works for uploading, but only if the numbers are formatted with the country code first. Skip that and the match rate comes out oddly low.
Thai names create a second issue, since one system often stores several versions of the same person: legal name, nickname, and an English spelling that varies between records. If you include name columns, use the legal name from documents rather than the nickname a staff member typed in, because nicknames almost never match what sits on the user account.
Finally, Thai businesses running several channels at once should assign each one a role that does not overlap. Meta suits demand creation and follow up through image and video, while search captures demand that already exists. Planning this way makes each channel's numbers far easier to read, and it is something a social ads team should agree with whoever runs the other channels before launch rather than after.
FAQ on Meta Custom Audiences
Is a Meta Custom Audience the same as Google's custom intent audience
No, they are different platforms with different mechanisms. A Meta custom audience is built from data your business already holds, such as Pixel data or a customer list, while a Google custom intent audience is built from search terms and websites you nominate in order to reach new people who have never heard of you.
Does uploading a customer list to Meta expose the data
Identifiers are hashed with SHA-256 before leaving your machine, and when you upload through Ads Manager the browser performs the hashing locally, producing values that cannot be reversed back to the originals. Hashing does not remove your obligations under PDPA, so lawful basis and consent still need handling separately.
How far back can a website retargeting audience reach
Up to 180 days for audiences built from website activity, while audiences built from video views or from engagement with a Facebook Page or Instagram profile reach up to 365 days.
Should I start with custom audiences or lookalikes
Start with custom audiences every time, because they carry the best cost per result and they also serve as the seed a lookalike needs. Once follow up audiences saturate, expand with lookalikes.
Why does the audience size Meta shows keep changing
Because it is an estimate that moves as new data arrives and older data ages out of the retention window you set. A 30 day website audience shrinks on its own when site traffic drops, without any change to your settings.
Wrapping up
Custom audiences turn data a business already holds into something it can actually target, with lookalikes as the expansion mechanism and data protection duties as the frame around both. If you want help structuring the audiences, getting collection right at the source, and running the campaigns week to week, Relevant Audience does that work inside its Facebook advertising service. Get in touch with what your business is trying to reach.







