How can we help? 👋

Run LinkedIn ads to your accounts

How to build LinkedIn Ads audience

Letterdrop exports the accounts and people in your leads table as LinkedIn audience files you can upload as-is. This guide takes you from filtering the table to a live campaign targeting those accounts.

Plan for about 15 minutes of work, then up to 48 hours of waiting while LinkedIn matches your list.

You will need a LinkedIn Campaign Manager account with an ad account you can edit.


Step 1. Filter the leads table to the accounts you want

Open Leads and go to the table.

Use the filters above the table to narrow it to the accounts you want to advertise to, by competitor, priority, stage, or whatever else you segment on.

Notion image
Notion image

The export follows your filters. Every row that survives the filter gets exported, not just the rows on the page you are looking at. Clear the filters and you export everything.

Do not over-filter. LinkedIn will not run ads to an audience of fewer than 300 matched members. A list of 50 hot accounts will not be targetable.

Check the row count on the table before you move on.


Step 2. Export the LinkedIn files

  1. Click Export above the table.
    1. Notion image
  1. In the Export competitor monitoring dialog, choose LinkedIn Campaign Manager (4 CSVs) instead of Full report.
    1. Notion image
  1. Enter the email address that should get the download link.
  1. Click Send export.

Large exports take a few minutes. When it is ready you get an email titled "Your LinkedIn audience exports are ready" with four links.

Notion image

Download the Contacts list OR the Companies and Targeting lists.

Emails in the export are SHA256 hashed, which is the format LinkedIn requires. LinkedIn never receives a plain-text email address from these files.

Step 3. Know what the four files are for

File
What it is
What you do with it
Company list
One row per account, with website, email domain, LinkedIn page URL, industry and location
Upload to LinkedIn as a company list audience
Contact list
One row per person (the buying committee plus your CRM contacts), with a hashed email, name, job title and company
Upload to LinkedIn as a contact list audience
Targeting
A short sheet of job functions and seniorities
Not an upload. These are dropdown values you tick in Campaign Manager
Discovered titles
The raw job titles behind the targeting sheet, most common first
Reference only. Use it to sanity check who we found

Most teams upload the company list, layer the targeting values on top of it, and leave the contact list as a second audience to test against.

Upload the files exactly as downloaded. Do not open them in Excel and re-save. Excel changes the encoding and can mangle hashed emails and leading zeros, and LinkedIn will reject or under-match the file. If you need to look inside one, open a copy.

Decide if you want to either:

  1. Recommended: Upload a company list + add job filtering (go to step 4)
  1. Upload a contact list (skip to step 6)

Step 4. Upload the company list (Recommended)

  1. In Campaign Manager, pick the ad account you want the audience to live in.
  1. Go to Audiences in the left nav (under Plan).
Notion image
  1. Click Create audience → Matched audience.
 
Notion image
 
  1. Give it a name you will recognize in two weeks. We use Letterdrop – companies – 2 Sep 2026. Dating the name matters because LinkedIn audiences cannot be edited after upload, so every refresh is a new audience.
  1. Select Company list from the List type dropdown
  1. Upload the company list CSV.
  1. Confirm the column mapping. LinkedIn should map every column automatically because the file already uses its header names. If it asks, the important one is companyname; the website, email domain and LinkedIn page URL columns are what push the match rate up.
  1. Agree to LinkedIn's terms and click Upload.

The audience appears with a status of Processing or Building. It can take up to 48 hours to be ready. Refreshing the page does not speed it up.


Step 5. Set job function and seniority from the targeting file

Once your audience is built, go to Advertise → click on Edit to open up your Campaign.

Open the Targeting CSV you downloaded. It looks like this:

Notion image

Every value listed is one we recommend ticking. contacts_matched is how many people in your contact list hold that function or seniority, and pct_of_list is what share of the list that is, so you can see which values carry the audience.

In Campaign Manager, inside the campaign you are building:

  1. In the Audience section, click Narrow audience further (or Add attribute).
    1. Notion image
  1. Select Audiences → List upload → Company List → select the company list you uploaded in the previous step.
    1. Notion image
  1. Then go back and select Audience attributes → Job Experience → Job Functions, tick every function listed in section 1 of the file.
    1. Notion image
  1. Add another attribute. Under Job Experience → Job Seniorities, tick every seniority listed in section 2.

These two attributes narrow each other, so the result is this function AND this seniority inside the accounts on your company list.

Why we give you dropdown values instead of a list of job titles. LinkedIn does not let a job-title filter be combined with job functions or seniorities in the same campaign. You get one or the other. Titles are also much narrower, and narrow title targeting is the usual reason an audience falls under the 300-member floor and cannot run. Functions and seniorities cover the same buying committee with room to spare.

One caveat: the job functions in the targeting file are our best guess from the job titles we found, not LinkedIn's own mapping, because LinkedIn does not publish its standardized title list. Seniority is unaffected. If a function looks wrong for your market, untick it. Nothing else in the setup depends on it.

Step 6. Upload the contact list (less coverage so not recommended)

Same path, different type.

  1. Audiences → Create audience → Upload a list → Contact list.
  1. Name it, for example Letterdrop – contacts – 2 Sep 2026.
  1. Upload the contact list CSV and confirm the mapping. The email column is already SHA256 hashed, so leave it mapped to email and do not hash it again.
  1. Agree to the terms and click Upload.

Some rows have a blank email or a blank job title. LinkedIn matches on whatever it has, and a row with a first name, last name and company can still match.

Contact lists match at a lower rate than company lists. LinkedIn only matches an email if the person has that address on their LinkedIn account, and most work contacts sign in with a personal one, so expect the matched count here to be a fraction of the row count.


Step 7. Launch the campaign

⚠️
  1. Leave LinkedIn's audience expansion off. It will happily spend your budget outside the account list you just built. That is not the goal.
Notion image
  1. Check the forecast panel on the right. If it says your audience is too small to run, see the troubleshooting below.

A few rules about combining lists:

  • Selecting two uploaded audiences in the same include block is OR, not AND. Picking the company list and the contact list together means "anyone in either", which is not what most people intend.
  • To compare them, run them as two campaigns rather than one.
  • An uploaded list combined with a targeting attribute (function, seniority, industry) is AND. That is the combination in Step 6, and it is the one you want.

How big does the list need to be?

Threshold
Number
Minimum matched members before an audience can run
300
Company list size we recommend aiming for
500+ companies

The 300 is the one that bites. It counts matched LinkedIn members, not rows in your file, and it is measured after LinkedIn finishes processing. An 1,800-company list plus a Director-level filter usually clears it comfortably. A filtered list of a few dozen accounts will not.

If you want a small, high-priority set of accounts targeted, widen the filter in Letterdrop, upload the bigger list, and do the prioritizing with your ad budget and creative instead.


Troubleshooting

"This audience is too small" / the campaign will not launch. Your list matched fewer than 300 members. Go back to Letterdrop, loosen the filters on the leads table, and export again. If the list is already large, remove the seniority attribute first, since it is usually the narrower of the two.

The audience has been Processing for a day. That is normal. Give it the full 48 hours before treating it as stuck.

The matched count is much lower than the number of rows. Expected, especially on the contact list. Company lists match well because we send the website, email domain and LinkedIn page URL for most accounts. Contact lists match on hashed email, and most people's LinkedIn login is a personal address we do not have.

LinkedIn rejected the file or the columns are unmapped. The file was probably opened and re-saved in Excel. Re-download it from the export email and upload it untouched. LinkedIn needs plain UTF-8 CSV, and our headers already match its template.

I need to add accounts to an existing audience. You cannot. LinkedIn audiences are immutable once uploaded. Export a fresh list from Letterdrop, upload it as a new audience with today's date in the name, and swap it into the campaign.


Keeping it current

New accounts show up in your leads table every week as we pick up new competitor activity. A monthly re-export is a reasonable cadence for most teams: export, upload as a new dated audience, point the campaign at the new one, and leave the old audience in place so you keep the history.

Did this answer your question?
😞
😐
🤩