Responsive Search Ad Customization

Ad customizers are a very powerful tool that lets you customize the text content of your responsive search ads using dynamic text placeholders.

Ad customizer

There are two steps for creating an ad customizer for responsive search ads:

  1. Create the customizer attribute.

    The customizer attribute is a broad category that describes the kind of change you intend to link to this customizer—for example, "product price" or "discount percent".

  2. Link the customizer attribute with a customer, campaign, ad group, or keyword ad group criterion.

    Set the specific values you want to use for the specific resource.

Create a customizer attribute

First, you need to create a new customizer attribute, represented by CustomizerAttribute using CustomizerAttributeService with two required fields:

The name of the customizer, which must be unique (case insensitive). Since there is a limit of 40 customizers, you might need to reuse customizers across different resources, so be sure to choose a name that represents a broad category of what kind of customizations this will be used for.
The type of the customizer—text, number, price or percent—defined by CustomizerAttributeType.

When you create a new customizer attribute, you get its resource name back, which is required in the next step.

You can link the previously created customizer attribute at many levels using the following services:

Regardless of which level you want and which corresponding service you use, the same pieces of information are required:

The resource name of the customizer attribute that you created in the previous step.

The value that you want to insert into your ads when you reference this customizer attribute. This field is defined by CustomizerValue.

You need to specify type and string_value to create CustomizerValue. The type value should be the same as the customizer attribute you're linking, and string_value is the value that you want the Google Ads API to use.

Resource name of the resource you want to link the customizer attribute to

The name varies based on the resource type. For instance, to create CampaignCustomizer, specify the campaign.

Once you finish this step, you're ready to use the ad customizer in responsive search ads that are included in the resource hierarchy you linked the customizer attribute to. For instance, if you link the customizer attribute to the campaign with an ID A, you can use that ad customizer in an ad created under any ad groups inside campaign A. You cannot use the ad customizer in an ad under ad groups inside campaign B.

Ad customizers in responsive search ads

To use the ad customizer in headlines and description of the responsive search ads, you need to create an AdTextAsset object with text including the following syntax:

  • CUSTOMIZER_ATTRIBUTE_NAME is the name of the customizer attribute that you set when you created it, not the resource name of the customizer attribute nor its ID.

  • DEFAULT_VALUE is the default value for the ad customizer.

Refer to the responsive search ads guide for more information about setting up the ads.

Rules and limitations

  • There can only be one link per level—customer, campaign, ad group, or ad group criterion—and the most specific one will override the more general one. For example, if you have this customizer attribute defined at the campaign level and the ad group level, then ads within the linked ad group will use the ad group one, but ads from other ad groups in that campaign will use the campaign one.

  • You can have up to 40 enabled CustomizerAttribute objects in your account. If you reach this limit, you need to remove the unused ones before creating a new one.

  • There are rules for customizer attributes with type PRICE:

    • Currency codes and symbols can appear before or after the number. For example, $100, 100$, USD100, 100USD are all valid values.
    • There should be no spaces between the number and the currency codes or symbols. For example, $ 100 is invalid.
    • See the currency codes and symbols that can be used as part of the specified value.