Sync your CRM lists into ad audiences

Turn the customers, open deals, and lost deals in your CRM into Google, Meta, and LinkedIn ad audiences, so your ads leave out the people who already bought and reach the people worth winning back.

Key Takeaways

  1. Syncing your CRM into ad audiences means turning groups of people in HubSpot or Salesforce, such as current customers or open deals, into lists that Google Ads, Meta, and LinkedIn can match to their own users. You can then target those people or leave them out.
  2. The quickest win is usually an exclusion list. Leaving out your current customers and open deals stops you from paying for clicks from people who have already bought or are already talking to sales.
  3. Kite reads your CRM, picks the groups worth turning into audiences, and cleans each list so more of it matches. That means removing people who opted out of marketing, removing duplicates, and putting phone numbers in international format.
  4. In Google Ads, Kite creates the Customer Match list and adds people to it through your connected account. In Meta and LinkedIn, Kite can create the empty audience or prepare the file, and your team uploads the people in Ads Manager or Campaign Manager.
  5. The hard part is keeping the lists current. Kite can check your CRM on a schedule and add new customers to your Google list as they close, so your exclusions don't fall behind.
On this page

Why sync your CRM with your ad audiences?

Your ad platforms don't know who your customers are. Unless you tell them, Google and Meta will happily show a "Start your free trial" ad to someone who signed a contract last month, and charge you when they click it to log in. LinkedIn will keep showing the same awareness ad to the champion of a deal your sales team is about to close.

Your CRM already knows all of this. It holds who bought, who's in an open deal, who went quiet after a demo, and who cancelled. Syncing a CRM list into an ad audience hands that knowledge to the ad platform. Each platform has its own name for the feature: Google calls it Customer Match, Meta calls it a Custom Audience built from a customer list, and LinkedIn calls it a Matched Audience. All three work the same way. You give the platform a list of email addresses, phone numbers, or company names, it matches them to its own users, and you use the result to target those people or exclude them.

The first upload is easy. Most teams export a list, upload it once, and never touch it again. Six months later the exclusion list is missing every customer who signed since, and the "lost deals" retargeting list still includes people who came back and bought. The work that actually matters is choosing the right groups, cleaning them so they match, and keeping them current. That recurring, detail-heavy work suits an AI marketer that can read your CRM and work in your ad accounts.

Kite is an AI marketer. It researches your business, builds a growth strategy, and ships the work that brings you new customers. Here's how it handles your ad audiences.

How Kite syncs your CRM lists into ad audiences

Kite starts with your CRM. It reads your HubSpot lists or your Salesforce list views and reports, looks at your lifecycle stages and deal stages, and proposes the groups worth turning into audiences. It explains what each group is for, such as an exclusion list of everyone who has bought, or a retargeting list of deals lost in the last six months.

Once you agree on the groups, Kite builds each list from your CRM records and cleans it before anything reaches an ad platform. For Google Ads, it creates the Customer Match list and adds the people through your connected account. For Meta and LinkedIn, it prepares the audience and the upload file, and your team adds the people in the platform. Kite then tells you which campaigns should use each audience and whether to target it or exclude it.

After that, Kite keeps the lists current on a schedule you agree on, and it checks your ad results against your CRM to see whether the audiences are doing their job.

  1. Which CRM lists should become ad audiences?
  2. How do you get CRM data to match in the ad platform?
  3. How do I use Google Customer Match with my CRM data?
  4. How do I upload a customer list to Meta as a custom audience?
  5. How do I upload a CRM list to LinkedIn as a Matched Audience?
  6. How do I exclude existing customers from my ads?
  7. How do I keep my ad audiences in sync with my CRM?
  8. Check whether the audiences are working

Which CRM lists should become ad audiences?

The best CRM lists for ads are the ones where you'd say something different to that group, or nothing at all. Kite looks at how your CRM is organized and proposes groups that fit your situation. Common ones include:

  • Current customers, to exclude. This keeps acquisition ads away from people who already pay you. It's the simplest audience to build and usually saves money from the first day.
  • Open opportunities, to target with proof. People in an active deal are comparing options. Case studies and customer stories help them more than another "book a demo" ad does.
  • Lost deals from the last few months, to win back. These people knew enough to talk to sales. A new feature or a changed price can be a good reason to show them an ad.
  • Past customers who cancelled, to re-engage or exclude. Whether to target or exclude this group depends on why they left, and Kite reads the deal notes and close reasons to suggest which.
  • Your best customers, as a seed for lookalikes. Meta and LinkedIn can find people who resemble a list you give them, so a list of your highest-value customers can be a better starting point than your whole database.

Kite uses the fields your CRM actually has. In HubSpot, that might be an existing list or a search on lifecycle stage and deal stage. In Salesforce, it might be a list view your sales team already maintains, or a report of closed-won opportunities. When the field Kite needs is missing or messy, such as a "Customer" checkbox nobody updates, it tells you and suggests a better source, such as closed-won deals.

How do you get CRM data to match in the ad platform?

A list only works if the ad platform can match the people on it to its own users. Every platform matches on the details its users signed up with, so a list of work email addresses often matches poorly on Meta, where most people use a personal email address. Before anything is uploaded, Kite prepares each list so more of it matches:

  • It removes anyone who has opted out of marketing in your CRM.
  • It removes duplicate records, so the same person isn't counted twice.
  • It lowercases email addresses and trims stray spaces.
  • It puts phone numbers in international format with the country code.
  • It adds first name, last name, country, and postal code where your CRM has them, because those fields help the platform confirm a match.

For LinkedIn, Kite can also build a company list instead of a contact list. A company list uses company names and website domains, which suits account-based campaigns where you want to reach everyone at a target account rather than one known contact.

Kite shows you the counts before anything is created. For example, it might report that 2,140 of your 2,600 customers have an email address, 380 also have a phone number, and 95 opted out of marketing and were removed.

How do I use Google Customer Match with my CRM data?

Kite creates a Customer Match list in your connected Google Ads account and adds each person from your CRM list by email address. Google matches the addresses to Google accounts, and Google says the matching can take up to 48 hours. You can then use it in a campaign's audience settings, either to target those people or to exclude them.

Google only allows Customer Match in accounts that meet its eligibility rules, which look at your account's history of following Google's ad policies and paying on time. Google also won't serve ads to a list on Search or YouTube until enough of it has matched, so very small lists may not be usable there. Kite checks the list size and tells you if a list is too small to be worth using.

How do I upload a customer list to Meta as a custom audience?

Kite creates the customer-list Custom Audience in your connected Meta Ads account, with a name and description that say which CRM group it holds and where the data came from. Meta asks every advertiser to state whether the list came directly from customers, from partners, or both, and Kite fills that in from what it knows about the list.

Kite's Meta connection can create the audience but can't add people to it, so Kite prepares the customer file in the columns Meta expects and your team uploads it in Ads Manager. Ads Manager hashes the file in your browser before it leaves your computer, so Meta matches people without receiving their contact details in plain text. Once Meta finishes matching, it shows the audience size, and Kite tells you which ad sets should include or exclude it.

How do I upload a CRM list to LinkedIn as a Matched Audience?

Kite prepares a contact list or a company list in the format LinkedIn's Campaign Manager accepts, and your team uploads it as a Matched Audience. Company lists usually match better than contact lists on LinkedIn, because LinkedIn knows where its members work even when it doesn't know their email address.

With your LinkedIn Ads account connected, Kite can also draft LinkedIn campaigns with targeting by job title, seniority, industry, and company size, and suggest bids. A team owner or admin launches a draft campaign from Kite after confirming its budget. Kite tells you which of your uploaded Matched Audiences to add to each campaign.

How do I exclude existing customers from my ads?

Build a list of your current customers from your CRM, turn it into an audience in each ad platform, and add that audience as an exclusion on every campaign meant to win new customers. Kite builds the customer list from your closed-won deals or your customer lifecycle stage, creates the audience in Google Ads and prepares it for Meta and LinkedIn, and lists the campaigns that should exclude it.

It's often worth excluding open deals as well. Someone already talking to your sales team doesn't need a top-of-funnel ad, and clicks from them make your acquisition campaigns look better than they are. Kite suggests which campaigns should exclude only customers and which should also exclude open deals, based on what each campaign is trying to do.

How do I keep my ad audiences in sync with my CRM?

Kite keeps your audiences current by checking your CRM on a schedule and updating the lists with what changed. You agree on the job once, such as "Every Monday, add anyone who became a customer last week to the Google Ads exclusion list," and Kite runs it each week without being asked.

For Google Ads, Kite adds new people to the existing Customer Match list through your connected account. For Meta and LinkedIn, Kite prepares a fresh file each time with the people who joined the group, and your team uploads it. Each run reports what changed, such as "Added 14 new customers to the exclusion list. 3 had no email address in HubSpot, so they couldn't be added." You get that report in the Kite web app, by email, or in a Slack channel if your team uses Slack.

Kite adds people through the Google Ads connection, but it doesn't remove them. That works well for exclusion lists, because a customer stays a customer. For a list that people should leave, such as open deals, Kite builds a fresh list on a regular schedule and tells you to swap it into your campaigns.

Check whether the audiences are working

Kite measures each audience by what happens in your ad accounts and your CRM. It reads campaign results from Google Ads, Meta, and LinkedIn, then compares spending and conversions before and after an exclusion went live.

It also checks the leads your ads bring in against your CRM. If your ads are still producing form fills from people who are already customers, the exclusion list is out of date or isn't attached to every campaign, and Kite tells you which one. If a win-back audience is producing meetings with people from lost deals, Kite reports that too, so you can decide whether to put more budget behind it.

What you get

A set of audiences worth building

The CRM groups that should become ad audiences, with what each one is for and whether to target it or exclude it.

Clean, matchable lists

Each list with people who opted out removed, duplicates removed, and contact details formatted the way the ad platforms expect, along with the counts at each step.

Audiences in your ad accounts

A Customer Match list in Google Ads with your people added, a customer-list Custom Audience in Meta, and upload files for Meta and LinkedIn.

A campaign checklist

Which campaigns should target or exclude each audience.

A recurring sync

A scheduled job that adds new people to your lists and reports what changed.

A check on results

A comparison of your ad results before and after, and a list of any leads from ads who were already customers.

How to get started

Give Kite a plain-language goal. You might say, "Stop showing our acquisition ads to existing customers," or "Build a retargeting audience from deals we lost this year."

Connect your CRM first, either HubSpot or Salesforce, so Kite can read your lists, contacts, and deals. Then connect the ad accounts you want the audiences in. Kite creates and fills Google Ads audiences through your connected account and creates Meta audiences through yours, and it prepares upload files for Meta and LinkedIn either way.

Kite proposes the groups, shows you the counts and what it removed, and creates the audiences once you approve. You can work with Kite in the Kite web app or in Slack. When you're happy with the first round, tell Kite how often to update the lists, and it will keep them current from then on.

Integrations used to sync CRM lists into ad audiences

This job needs two kinds of connection: a CRM that holds the people, and the ad accounts where the audiences live.

Common questions

Can an AI marketing agent sync my CRM lists into Google or Meta ad audiences?

Yes. Kite reads the people from HubSpot or Salesforce, cleans the list, and creates the audience. In Google Ads, it also adds the people to the Customer Match list through your connected account. In Meta, it creates the Custom Audience and prepares the customer file, and your team uploads the file in Ads Manager.

Why is my customer list match rate so low?

Match rates are usually low because the list holds work email addresses and the ad platform knows people by their personal ones. That's most noticeable on Meta. Adding phone numbers, names, and country to the list helps the platform confirm more matches. On LinkedIn, a company list often reaches more of your accounts than a contact list does. Kite tells you how many records on each list have each kind of detail, so you can see where the gaps are.

Is it allowed to upload customer data to ad platforms?

Google, Meta, and LinkedIn all allow it, as long as you collected the data in a way that lets you use it for advertising and you follow their terms. Each platform asks you to accept its customer list terms before your first upload. Kite removes everyone who opted out of marketing in your CRM, and your team confirms the rest is cleared for advertising use before the list goes to the platform.

Do I need a reverse ETL tool like Hightouch or Census for this?

Not usually. Reverse ETL tools copy data from a data warehouse into other tools on a schedule, and they make sense when your customer data lives in a warehouse and you need many automated syncs. If your customers and deals live in HubSpot or Salesforce, Kite reads them there directly, decides which groups are worth turning into audiences, and keeps those lists current on a schedule.

How often should I update my ad audiences?

Update an exclusion list at least as often as you close new customers, which for most teams means weekly. Lists for targeting, such as open deals or lost deals, should be rebuilt whenever the group changes enough to matter, often every two to four weeks. Kite can run each update on its own schedule and report what changed each time.

Questions this page answers

  • How do I sync my CRM lists into ad audiences with AI?
  • Can an AI marketing agent sync my CRM lists into Google or Meta ad audiences?
  • How do I upload a customer list to Meta as a custom audience?
  • How do I use Google Customer Match with my CRM data?
  • How do I keep my ad audiences in sync with my CRM?
  • How do I exclude existing customers from my ads?

About the author

Devon Wells leads product marketing at Kite, the AI marketer. He spent a decade marketing industrial AI, from self-driving trucks to computer vision, but now Kite handles most of the work itself.

Tell me your goal and I’ll get to work.

Get started for free