How should a placement list be formatted so the import matches?
Part of Google Ads placements
The short answer
Format a placement list as one entry per line with no protocol, no spaces and no quotation marks. Lowercase the host but leave paths as written, decide on purpose whether to keep www, strip tracking parameters, then remove duplicates after cleaning. Save in the encoding the destination documents, such as UTF-16 Unicode Text for Google Ads Editor.
Key takeaways
- The form of an entry sets its scope: in Google Ads exclusions, example.com covers its subdomains and pages, while www.example.com covers only that subdomain.
- Host names are case-insensitive under RFC 3986, but paths are not, so lowercase the domain and leave the path alone.
- Clean first and deduplicate second, because duplicates hide behind protocols, trailing slashes, stray spaces and tracking parameters.
- Encoding is set by the destination: Google Ads Editor recommends UTF-16 Unicode Text, and Display & Video 360 bulk entry rejects spaces and quotation marks.
What should one clean entry in a placement list look like?
A placement list breaks quietly. When an entry reads HTTPS://www.Example.com/?ref=nav instead of example.com, the import can accept it while the scope differs from what the planner approved. Formatting makes the uploaded list mean the same thing as the approved one.
Definition
- Normalized placement entry
- A list entry reduced to the narrowest text that still names the intended scope: a lowercase host, an optional path kept exactly as the publisher writes it, and nothing else. No protocol, no tracking parameters, no fragment, no surrounding spaces or quotation marks.
Google's placement exclusion help page (opens in a new tab) shows how the shape of an entry changes what it covers. The table restates Google's examples for exclusions in Google Ads, checked October 22, 2026.
| Entry form | Example | What Google says it covers | Formatting rule to apply |
|---|---|---|---|
| Top level domain | example.com | The domain plus its subdomains, directories and pages | Use when the whole site is in or out |
| First level subdomain | www.example.com | That subdomain and its paths; other subdomains such as www1 may still show ads | Keep www only when the narrower scope is intended |
| Directory path | www.example.com/stuff | That path and pages beneath it, not the parent domain | Keep the path exactly as the site writes it |
| Multi level subdomain | www.placement.example.com | Only that subdomain; Google marks it not recommended | Flag for review before upload |
| Individual page | www.example.com/index.html | That page | Use only for page level decisions |
Should placement lists include www or https?
Drop the protocol. The http:// or https:// prefix says how a browser reaches a page, not which site it is, and neither Google's exclusion examples nor the Display & Video 360 targeting page (opens in a new tab) use one in their list entries.
The www prefix is a scope decision, not a formatting habit. Google's account level exclusion page (opens in a new tab) tells advertisers to leave off www. so an exclusion covers the whole domain, and says that keeping it means the exclusion will not extend to all subdomains, subsites and subpages. Keep www only when the approved list meant one subdomain, and note why.
How are subdomains and paths handled?
Subdomains and paths follow different rules on each platform. Display & Video 360 supports two levels of subdirectory targeting and up to five levels of subdomain targeting, and paths that end in a filename are not truncated but targeted as an individual page. Google Ads marks multi level subdomain exclusions as not recommended, and its help page says exclusions for subdomains, subsites and subpages do not work on the Search Partner Network.
Letter case is the trap inside paths. RFC 3986 (opens in a new tab), the URI standard, says the host subcomponent is case-insensitive and that scheme and host should be normalized to lowercase, while the other components are treated as case-sensitive unless a scheme says otherwise. Lowercase the host, never the path.
| URL part | Example | Keep or strip | Why |
|---|---|---|---|
| Scheme | https:// | Strip | It names the access method, not the site, and splits duplicates |
| Host | News.Example.com | Keep, lowercased | RFC 3986 treats the host as case-insensitive |
| Path | /Recipes/Baking | Keep exactly, or strip if the whole site is approved | Paths can be case-sensitive, and destinations cap path depth |
| Query string | ?utm_source=email | Strip | Tracking parameters describe a visit, not a placement |
| Fragment | #comments | Strip | A fragment points inside one page and adds nothing to scope |
| Trailing slash | example.com/ | Strip | RFC 3986 treats an empty path and / as equivalent for http |
Country versions are not duplicates. Google's account level exclusion page says different country domains need separate exclusions, so example.ca and example.com stay as two entries even when one company owns both.
How do you remove duplicates before upload?
Deduplicate last. Lists merged from several sources hide repeats behind a protocol, a trailing slash, a capital letter or an invisible space, which a check on raw text misses.
Six steps to deduplicate a placement list in a spreadsheet
- Keep the raw column untouched. Copy entries into a second column and clean only the copy, so each change can be traced back.
- Trim whitespace, then search for hidden characters. The Google Sheets help page (opens in a new tab) says Trim whitespace removes leading, trailing and excessive spaces, but a nonbreaking space will not be trimmed. Search for it separately.
- Strip the prefix and suffix noise. Remove http://, https://, anything after a question mark or hash, and a final slash.
- Lowercase the host only. Split host from path if the list holds paths, lowercase the host, and join them back.
- Run Remove duplicates on the cleaned column. Google Sheets considers cells with identical values but different letter cases to be duplicates, so if paths differ only by case, review those rows before removing anything.
- Record three counts. Write down raw rows, cleaned unique entries and the final upload count.
What file encoding should a placement list use?
Use the encoding the destination documents, not a house default. The Google Ads Editor CSV page (opens in a new tab) says Editor does not import XLS files and recommends saving Excel files with Unicode Text encoding, which on a Mac is UTF-16 Unicode Text; the extension may change from .csv to .txt and Editor can still import it. Editor's errors and issues page (opens in a new tab) gives the same fix for garbled non-English characters.
Display & Video 360 takes one item per line and says app IDs and URLs cannot contain spaces or quotation marks; its channel page (opens in a new tab) separates items with a carriage return and alerts the user to bad URLs or app IDs on saving. Structured Data Files are CSV, and the SDF format page (opens in a new tab) says string values after the header row sit in quotation marks and list items are separated by semicolons.
Which format does each Google destination expect?
| Destination | How entries go in | Documented rule or limit |
|---|---|---|
| Google Ads, Enter multiple placements | Paste the list (7331110 (opens in a new tab)) | At most 5,000 placements added at one time in the UI (6372658 (opens in a new tab)) |
| Google Ads Editor | CSV import | Not XLS; Unicode Text or UTF-16 Unicode Text recommended for Excel files |
| Google Ads scheduled exclusion list | Google Sheets, HTTPS or SFTP source (2454012 (opens in a new tab)) | Up to 65,000 exclusions per list; may take up to 10 minutes to appear; edits are made in the source file |
| Display & Video 360 line item | Bulk entry, one item per line | No spaces or quotation marks; a combined 10,000 apps and URLs per line item |
| Display & Video 360 channel | Items separated by a carriage return | Up to 65,000 websites, apps or both per channel |
Limits for shared exclusion lists differ between Google's pages. The Google Ads limits page (opens in a new tab) gives 65,000 exclusions per standard account list and 250,000 per manager account list, while the scheduled upload page applies 65,000 per list. Google's help pages disagreed when checked in October 2026: one says exclusion lists can only be created in manager accounts, another that each client account can have up to 20; one gives 250,000 exclusions per manager list, another 65,000 per list. Confirm the limits in the account before splitting a large list.
What does list cleanup look like on a real brief?
Fictional example
An art supplies retailer in Northern Ontario
A fictional art supplies retailer with stores in Thunder Bay and Sudbury asks its agency to run English display ads beside painting tutorials, craft blogs and regional arts coverage. The approved inclusion list arrives as a merge of three sources: the planner's new picks, a list from a past flight and a spreadsheet the client kept.
The raw column holds 186 rows. The buyer finds https://www.paintdaily.example/, PaintDaily.example and paintdaily.example?utm_source=newsletter for one site, a craft forum entered as forums.easelcorner.example beside its root domain, and four cells that carry a trailing nonbreaking space.
After trimming, stripping and lowercasing the hosts, deduplication leaves 141 unique entries. The planner confirms the forum subdomain was meant, so it stays a separate entry. The buyer records 186, 141 and 141 as the three counts, and saves the Editor file as UTF-16 Unicode Text before import.
How does PlacementGraph hand over a list ready for upload?
What should a format check confirm before the file is uploaded?
Format check for a placement list file
- No entry starts with http:// or https://, and none carries a query string, fragment or trailing slash.
- Hosts are lowercase; paths are unchanged.
- Each www entry or subdomain entry was kept on purpose and the reason is noted.
- No entry holds a space, a quotation mark, a comma or a hidden nonbreaking space.
- Accented domains use one consistent form, U-label or A-label.
- The file uses the encoding and separator the destination documents.
- Raw, cleaned and final counts are recorded with the list version.
For the import itself and the checks after posting, see the Google Ads Editor bulk upload guide and the placement import verification checklist. For choosing between a domain, a subdomain and a page in the first place, see URL placements in Google Ads, and for the wider picture return to the Google Ads placement targeting hub.
Frequently asked questions
Do uppercase letters in a domain create a different placement?
Not in the host. RFC 3986 says the host is case-insensitive, so Example.com and example.com name the same site and should be lowercased. Paths are a different matter: the standard treats them as case-sensitive by default, so a publisher's /Recipes and /recipes sections should not be merged without checking both pages.
Can one placement list mix websites, apps and YouTube channels?
It depends on the destination. Google Ads scheduled exclusion lists accept Sites, Mobile Applications, YouTube Channels and YouTube Videos, and app entries use the mobileapp::1- prefix for iPhone apps and mobileapp::2- for Android apps. Keep each type in a recognizable form so the cleanup steps for domains do not alter app IDs.
Should a port number such as :443 stay in a placement entry?
No. A port describes how a browser connects, not which site it is. RFC 3986 lists removing an empty or default port among its scheme based normalizations, so example.com:443 and example.com name the same https site. Strip ports along with the protocol before deduplicating.
Is a list with a header row a problem for plain text entry?
It can be. Google Ads Editor treats the first row of an imported CSV as a header row, but a list pasted into a bulk entry box has no header concept, so a word such as Domain at the top becomes one more entry. Remove headers before pasting and keep them for CSV imports.
Sources
- Exclude specific webpages and videos (opens in a new tab)Google Ads Help
- Exclude placements at the account level (opens in a new tab)Google Ads Help
- About your Google Ads account limits (opens in a new tab)Google Ads Help
- Prepare a CSV file (opens in a new tab)Google Ads Editor Help
- Fix Google Ads Editor errors and issues (opens in a new tab)Google Ads Editor Help
- App, channel, and website targeting (opens in a new tab)Display & Video 360 Help
- About channels (opens in a new tab)Display & Video 360 Help
- Structured Data Files format (opens in a new tab)Google for Developers, Display & Video 360 API
- Split text, remove duplicates, or trim whitespace (opens in a new tab)Google Docs Editors Help
- RFC 3986: Uniform Resource Identifier (URI): Generic Syntax (opens in a new tab)IETF, RFC Editor
- RFC 5890: Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework (opens in a new tab)IETF, RFC Editor
Researched and written by PlacementGraph Research. Read how we research, source and update these pages. Corrections: diana@placementgraph.com.