Filtering location extensions

Location extensions are automatically applied to every campaign and ad group under the account by default. You can override the default behavior by applying location extensions to a specific ad group or campaign through filters.

Filtering strategies

Location extensions let you define location filters at several levels of your account using various mechanisms. Use the matching_function field of a CampaignFeed or AdGroupFeed if you want different locations to appear on ads for different campaigns or ad groups.

The most specific filter takes precedence. For example, say you have:

  • a CustomerFeed
  • a CampaignFeed for campaign A
  • an AdGroupFeed for ad group G in campaign A
  • another campaign B that has neither a CampaignFeed nor an AdGroupFeed

With this setup you will get the following behavior (the dotted lines show which matching function is used for which ad):

  • Ads serving for ad group G will only show location extensions for items that match the matching function of the AdGroupFeed.
  • Ads serving for all other ad groups in campaign A will only show location extensions for items that match the matching function of the CampaignFeed.
  • Ads serving for campaign B will show location extensions for items that match the matching function of the CustomerFeed.

Filtering Google Ads location extensions

Filters in feed objects limit the feed items that sync by using the business_name_filter, category_filters, or label_filters attributes of the PlacesLocationFeedData object. In addition, filters in the other objects determine which feed items in Google Ads will be used as location extensions for a given combination of customer, campaign, and ad group. You might use these filters if:

  • You are using the same Business Profile with multiple Google Ads accounts and each Google Ads account is logically associated with a subset of locations.
  • You have locations in your Business Profile that you don't ever want to show up in ads.

For an account, campaign, or ad group, you can specify matching functions for filtering based on any of the attributes available in the location extensions feed. We recommend filtering based on the following attributes:

  • Business name (Placeholder 1): You can use the business name of the location for granular filtering.
  • Business category (Placeholder 9): Filtering by categories lets you define broader matches or resolve ambiguity when AND-combined with business name.
  • Labels (Placeholder 14): By specifying labels for each location in Business Profile and using these labels for filtering in Google Ads, you can customize your filtering entirely. For example, you can use the customer ID or a unique ID generated by your application.

    If label_filters is specified, only listings that have any of the specified labels are candidates to be synchronized into feed items. If label_filters has no entries, then all listings are candidates for syncing. In addition, all labels of a Business Profile listing are synced to a feed attribute with id = 14 and type = STRING_LIST. You can filter for feed items that have one or more labels by specifying a condition in your matching function as follows:


Alternatively, you can specify matching functions for filtering based on the feed item set ID, for example,

IN(FeedItemSetId, {"CH1234", "CH2345"})

Filtering affiliate location extensions

Similar to other extension types, affiliate location extensions are applied at campaign, ad group, or customer level depending on whether the feed was associated using a CampaignFeed, AdGroupFeed or CustomerFeed.

The following table shows the list of supported matching functions, and their common use cases.

Use case Matching function Notes
Filter by chain ID IN(FeedAttribute[FeedId, ChainAttributeId], {"CH1234", "CH2345"}) You can filter for up to a maximum of 20 chain IDs.
Filter by feed item set ID IN(FeedItemSetId, {"CH1234", "CH2345"}) You can filter for up to a maximum of 20 chain IDs.
Target an entity for all locations in the feed IDENTITY(true)
Turn off affiliate locations for an entity IDENTITY(false)

Automatic removal of invalid filters

Google Ads will perform a daily check of the filters defined for your Google Ads location extensions. If it determines that no Business Profile locations are matching the filter, it will take the following steps to remove the filter:

Filter location Steps to remove filter
PlacesLocationFeedData Set the following attributes of the PlacesLocationFeedData to null:
  • business_name_filter
  • category_filters
  • label_filters
CampaignFeed Remove the CampaignFeed.
AdGroupFeed Remove the AdGroupFeed.