How do you verify a bulk placement import in Google Ads?
Part of Google Ads placements

The short answer
Verify a placement import in five checks after posting: a second person reconciles the count of unique placements with the approved list, reads each row's ad group, type, bid and status, confirms exclusions sit at the intended level, checks that each campaign type can serve placements, and logs the file version, counts and sign off.
Key takeaways
- The person who uploads a placement file should not be its only checker; a second reader reconciles the count against the approved version.
- Ad group, Type, bid, final URL and status each change what an imported placement row does.
- Account level exclusions override campaign and ad group settings, so each of the three levels needs its own check.
- A cleanly imported placement may bid, but campaign type and network membership decide whether it can serve.
- Google Ads change history keeps two years of changes with User and Tool filters, the backbone of an import log.
Who uploads the file and checks the imported placement count?
Google does not prescribe roles for a placement import, so the split below is a recommended internal control rather than a platform rule. What Google does provide is the mechanism for a second reader. Its share proposed changes page (opens in a new tab) lets an Editor user export unposted changes as an AES file and send it to a reviewer, such as a colleague, supervisor, or client, who can post, comment, pass it on or return it.
| Role | Does | Does not | Evidence it leaves |
|---|---|---|---|
| Uploader | Builds the CSV from the approved list version, imports it, runs Check changes, shares an AES file | Approve its own import | The file name with version, the AES file |
| Count checker | Reconciles unique placements, exclusions and destinations against the approved list | Edit the rows it is checking | A filled reconciliation sheet |
| Approver | Reads the checker's sheet, posts or authorizes the post, signs the log | Skip the sheet because the count looks right | A dated sign off line in the log |
Which fields should be checked after a bulk placement import?
A placement row is more than a site name. Google's edit placements page (opens in a new tab) shows that Editor exposes the placement, bid, bid adjustment, final URL and status for each one, and its CSV column reference (opens in a new tab) adds the Type values that turn a row into an exclusion. Each field can be right in the sheet and wrong in the account.
| Field | What a wrong value does | How to check it |
|---|---|---|
| Campaign and Ad group | The site lands beside other targeting or creative | Filter Placements by ad group; compare row counts |
| Placement | A www entry, path or country domain covers less than intended | Sort the column; one form per site |
| Type | Blank targets; Negative is ad group level; Campaign negative is campaign level | Filter by Type against the sheet's exclusion rows |
| Bid and bid adjustment | Sets a bid for that one site instead of the ad group's | Confirm the column was meant to carry bids |
| Status | Paused or Removed rows import without serving; pausing a negative has no effect | Targeted rows should be Enabled unless planned otherwise |
| Final URL | Sends clicks from that placement to another page | Only rows meant to override the ad's URL carry one |
Reconciling the count without trusting the preview
- Ignore the import preview for counting. Google's import page (opens in a new tab) says the preview shows only up to 100 rows; longer files import in full but are not displayed.
- Export what landed. Use Account, Export, Export current view, or export the selected campaigns and ad groups, as described on Google's export page (opens in a new tab).
- Normalize both lists the same way. Lowercase the domains and strip protocol and trailing slashes in both the approved list and the export before comparing.
- Compare unique placements per ad group. Record expected, imported and the difference, and write a reason next to every difference.
- Repeat after posting. Download recent changes and export again, so the count reflects the account rather than local proposals.
How do you confirm exclusions survived the import?
Exclusions fail silently: a missing one raises no error, it just lets an ad serve where it should not. Google's account level exclusions page (opens in a new tab) says exclusions apply at the account, campaign or ad group level, with account level exclusions overriding the other two, and that manager account lists are inherited by linked child accounts. An import touching one level says nothing about the others.
Exclusion checks after a placement import
- Each exclusion row shows Negative or Campaign negative as intended, and none appears as a targeted placement.
- Campaign level and ad group level negatives were loaded in separate passes, since Google's Make multiple changes page (opens in a new tab) says the tool cannot update both at once.
- The Exclusions view in the Content page has been opened at Campaign, Ad group and Account level, and the selected placement exclusion list is the intended one, per Google's exclusion page (opens in a new tab).
- Account level entries leave off www. where subdomains should be covered, since Google says www.example.com won't extend to all subdomains.
- Each country domain the plan excludes, such as a .com and a .ca, has its own entry; Google says different country domains need separate exclusions.
- Manager account lists linked to the account are still attached and still hold their expected entries.
- New account level exclusions were added at least 12 hours before launch, the time Google says they typically take to apply.
Google's release notes for Editor version 2.11 (opens in a new tab), a 2025 release, added account level placement exclusions to Editor, so read the account level list after any import that could have changed it.
Does a platform import imply every placement is eligible?
No. An import confirms that the account accepted a row, not that the row can buy anything. Google's placement targeting page (opens in a new tab) sets the conditions: a placement has to be part of YouTube or the Display Network for ads to show there, placements are added to ad groups in Video and Display campaigns, and advertisers still compete in the auction, where popular sites or videos may need higher bids.
| Question | Settled by the import? | Where to confirm |
|---|---|---|
| The row is attached to the right ad group | Yes, once posted | Placements view, filtered by ad group |
| The site is part of the Display Network or YouTube | No | Placement search in the Content page |
| The campaign type accepts placement targets | No | Campaign type; content targeting was removed from video campaigns that drive conversions from early 2023 |
| The ad group serves only on the list | No | Topics and keywords in the same ad group, which widen reach to any match |
| The site will receive impressions | No | The where ads showed report after launch |
Display campaigns add timing. In June 2026 Google began a phased rollout of a migration tool that moves Google Display Ads campaigns to Demand Gen, and its migration page (opens in a new tab) says migrated campaigns can't be reverted. Log the campaign type at import. For rows that never deliver, see placement not serving.
How should the import be logged?
The account keeps part of the record. Google's change history page (opens in a new tab) shows changes from the last 2 years, including those made in Google Ads Editor, filtered by Campaign, Ad group, Change type, User, Tool and Item changed. It does not hold intent: which list version the import came from and who agreed the differences.
| Field | Example value | Why it matters |
|---|---|---|
| Approved list and version | Client list v4, approved October 20 | Ties the account to what the client signed |
| Input file name | client-v4-placements.csv | Lets anyone reopen the exact rows |
| Destination | Account, campaign and ad groups | Shows the scope of the change |
| Expected, imported, difference | Unique placements and exclusions, per ad group | The reconciliation result |
| Rejected or changed rows | Each row with its reason | Explains every difference |
| Posted at, posted by | Date, time and user, matching change history | Links the log to Google's own record |
| Checked by, approved by | Two names and a date | The sign off |
What does an import check look like on a real brief?
Fictional example
A home stairlift installer in Newfoundland and Labrador
A fictional installer of home stairlifts and mobility aids in St. John's and Gander asks its agency for English display ads beside local news, home care and aging well content read in Newfoundland and Labrador. The approved list, version three, holds 64 websites in two ad groups and nine campaign level exclusions.
The planner imports the CSV; the account lead checks counts from a shared AES file. Placement counts match for both ad groups. Exclusions do not: three of the nine show as Negative inside one ad group instead of Campaign negative, and one excluded site is listed only under its .com domain although the plan also named its .ca version.
The planner fixes the Type values in a separate campaign negative pass, adds the .ca entry and re-imports. The account lead exports the current view, confirms the counts and signs the log with both change history rows.
How does PlacementGraph make an import easier to check?
What is the final sign off before the campaign goes live?
Sign off before launch
- The approved list version in the log matches the version the client signed.
- Expected and imported counts agree for every ad group, or each difference has a written reason.
- Exclusions at all three levels match the plan, and country domains are covered separately.
- No ad group holding the list also carries topics or keywords that would widen reach.
- The log names the uploader, the checker and the approver, with the change history rows.
Frequently asked questions
Should the count be checked in Editor or in the Google Ads account?
Both, at different moments. Editor shows proposed changes before posting, which is where a checker catches mistakes cheaply. After posting, download recent changes or read the account itself, because a change that failed to post would still look correct in a local export taken before the post.
Do placement bids imported in a CSV need checking if the plan has no bids?
Yes. Google's placement targeting page says advertisers can set individual placement bids to control traffic from a site, so a stray value in a bid column becomes a site level bid. If the plan relies on the ad group default, confirm the bid column was empty or absent in the imported rows.
Can a reviewer outside the agency check the import before it posts?
Yes, if the reviewer uses Google Ads Editor and can open the account. Google's share proposed changes page names a colleague, supervisor or client as possible AES file reviewers. Draft campaigns are left out of share files, so enable them first if they need review.
Why can a domain still be targeted after its exclusion was imported?
Google's pages point to two causes: the exclusion and the target sit at different levels, or in different forms. A Negative row excludes only within its ad group, and a www. entry does not cover other subdomains. Account level exclusions override campaign and ad group settings, so for a site that must never serve, the account list is the safer place.
Sources
- Share proposed changes (opens in a new tab)Google Ads Editor Help
- Edit placements (opens in a new tab)Google Ads Editor Help
- CSV file columns (opens in a new tab)Google Ads Editor Help
- Import a CSV file in Google Ads Editor (opens in a new tab)Google Ads Editor Help
- Export account data to a spreadsheet (CSV) (opens in a new tab)Google Ads Editor Help
- Update placements and excluded sites together (opens in a new tab)Google Ads Editor Help
- Google Ads Editor version 2.11 (opens in a new tab)Google Ads Editor Help
- Exclude placements at the account level (opens in a new tab)Google Ads Help
- Exclude specific webpages and videos (opens in a new tab)Google Ads Help
- About placement targeting (opens in a new tab)Google Ads Help
- Google Display Ads campaigns have a new home in Demand Gen (opens in a new tab)Google Ads Help
- Review your account history (opens in a new tab)Google Ads Help
Researched and written by PlacementGraph Research. Read how we research, source and update these pages. Corrections: diana@placementgraph.com.