Skip to content
PlacementGraph™
List formatting

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.

How the form of an entry changes its scope in Google Ads placement exclusions, per Google Ads Help (checked October 22, 2026)
Entry formExampleWhat Google says it coversFormatting rule to apply
Top level domainexample.comThe domain plus its subdomains, directories and pagesUse when the whole site is in or out
First level subdomainwww.example.comThat subdomain and its paths; other subdomains such as www1 may still show adsKeep www only when the narrower scope is intended
Directory pathwww.example.com/stuffThat path and pages beneath it, not the parent domainKeep the path exactly as the site writes it
Multi level subdomainwww.placement.example.comOnly that subdomain; Google marks it not recommendedFlag for review before upload
Individual pagewww.example.com/index.htmlThat pageUse 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.

What to keep and what to strip from each part of a URL in a placement list
URL partExampleKeep or stripWhy
Schemehttps://StripIt names the access method, not the site, and splits duplicates
HostNews.Example.comKeep, lowercasedRFC 3986 treats the host as case-insensitive
Path/Recipes/BakingKeep exactly, or strip if the whole site is approvedPaths can be case-sensitive, and destinations cap path depth
Query string?utm_source=emailStripTracking parameters describe a visit, not a placement
Fragment#commentsStripA fragment points inside one page and adds nothing to scope
Trailing slashexample.com/StripRFC 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.

From a raw list to a clean upload
From a raw list to a clean uploadEach step works on the output of the one before it, so duplicates surface only after the text has been normalized. 1. Trim: Remove spaces, tabs and nonbreaking spaces. 2. Strip: Drop scheme, query, fragment, trailing slash. 3. Lowercase host: Leave the path exactly as written. 4. Decide scope: Keep or remove www and paths on purpose. 5. Deduplicate: On the cleaned column only. 6. Count: Record raw, cleaned and final totals01TrimRemovespaces, tabsandnonbreakingspaces02StripDrop scheme,query,fragment,trailingslash03LowercasehostLeave thepath exactlyas written04DecidescopeKeep orremove wwwand paths onpurpose05DeduplicateOn thecleanedcolumn only06CountRecord raw,cleaned andfinal totals
From a raw list to a clean uploadEach step works on the output of the one before it, so duplicates surface only after the text has been normalized. 1. Trim: Remove spaces, tabs and nonbreaking spaces. 2. Strip: Drop scheme, query, fragment, trailing slash. 3. Lowercase host: Leave the path exactly as written. 4. Decide scope: Keep or remove www and paths on purpose. 5. Deduplicate: On the cleaned column only. 6. Count: Record raw, cleaned and final totals01TrimRemove spaces, tabs andnonbreaking spaces02StripDrop scheme, query, fragment,trailing slash03Lowercase hostLeave the path exactly aswritten04Decide scopeKeep or remove www and paths onpurpose05DeduplicateOn the cleaned column only06CountRecord raw, cleaned and finaltotals
Each step works on the output of the one before it, so duplicates surface only after the text has been normalized.

Six steps to deduplicate a placement list in a spreadsheet

  1. Keep the raw column untouched. Copy entries into a second column and clean only the copy, so each change can be traced back.
  2. 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.
  3. Strip the prefix and suffix noise. Remove http://, https://, anything after a question mark or hash, and a final slash.
  4. Lowercase the host only. Split host from path if the list holds paths, lowercase the host, and join them back.
  5. 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.
  6. 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?

Documented list formats and limits by Google destination (checked October 22, 2026)
DestinationHow entries go inDocumented rule or limit
Google Ads, Enter multiple placementsPaste 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 EditorCSV importNot XLS; Unicode Text or UTF-16 Unicode Text recommended for Excel files
Google Ads scheduled exclusion listGoogle 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 itemBulk entry, one item per lineNo spaces or quotation marks; a combined 10,000 apps and URLs per line item
Display & Video 360 channelItems separated by a carriage returnUp 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

  1. Exclude specific webpages and videos (opens in a new tab)Google Ads Help
  2. Exclude placements at the account level (opens in a new tab)Google Ads Help
  3. About your Google Ads account limits (opens in a new tab)Google Ads Help
  4. Prepare a CSV file (opens in a new tab)Google Ads Editor Help
  5. Fix Google Ads Editor errors and issues (opens in a new tab)Google Ads Editor Help
  6. App, channel, and website targeting (opens in a new tab)Display & Video 360 Help
  7. About channels (opens in a new tab)Display & Video 360 Help
  8. Structured Data Files format (opens in a new tab)Google for Developers, Display & Video 360 API
  9. Split text, remove duplicates, or trim whitespace (opens in a new tab)Google Docs Editors Help
  10. RFC 3986: Uniform Resource Identifier (URI): Generic Syntax (opens in a new tab)IETF, RFC Editor
  11. 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.

HOW AGENCIES WORK WITH US

From your first brief.
To your next campaign.

Share a brief in plain language. Get contextual websites and YouTube channels that fit it, with the evidence behind every pick and a deal ready for your usual buying platform.

  1. 01

    Share your brief

    The campaign in plain language.

  2. 02

    Get your shortlist

    The strongest contextual sites and channels, with the evidence behind each.

  3. 03

    We build the deal

    Your shortlist becomes a curated deal through our exchange partners.

  4. 04

    Activate and grow

    Buy in your usual platform. Agencies earn benefits as their investment grows.

LET’S WORK TOGETHER

Your next campaign starts here.

Your details will only be used to respond to your enquiry.

Prefer email? diana@placementgraph.com

YOUR PRIVACY

You choose whether to allow optional analytics. You can use the whole website either way.

Change or withdraw consent at any time using “Cookie preferences” in the footer. Turning analytics off stops future collection and removes this site’s analytics cookies; it does not erase information already sent. The page may refresh to apply withdrawal.