Attribute rules give you the ability to transform your data to match our product data specification requirements. Use attribute rules to resolve errors and help us interpret the data in your data source. This article explains how to set up attribute rules for your product data.
Before you begin
Make sure to add product data sources to your Merchant Center account so that there is data to create rules with.
Then, enable the attribute rules feature by adding the “Advanced data source management” add-on. Having this add-on allows you to use attribute rules. Learn more about Advanced data source management.
[id]
attribute, use the ID rules section. Learn more about setting up rules for the ID attribute.Use attribute rules
To create a new attribute rule for your data source:
In your Merchant Center account, click on the Settings & tools icon .
Select Data sources.
Under the “Product sources” tab, select a product source.
Click the Attribute rules tab.
- If you have more than one feed label connected to this data source, be sure to select the feed label that you would like to apply the rule to.
- Note: You can also configure your data sources by going to the Data source setup tab.
If you haven't created attribute rules for the attribute you want to edit, click Add attribute rule and select the corresponding attribute from the drop-down list.
If you want to edit an existing set of attribute rules, you can search for the attribute using the search bar and click the attribute you want to edit.
Add or edit details in the attribute rule by clicking either Add more ways to replace data, Change, or Add modification.
Click Save as draft.
The changes made to your rules are in draft mode. Click Test rules to test your draft rules before they’re applied to your product data.
Click Apply changes to save and apply any new or updated rules. Click Discard changes to remove the draft rules.
The attribute rules page contains an Attributes table which provides an overview of target attributes covered by rules.
The default rule is the rule Google assigns for each attribute in your data source by taking the value from either your supplemental or primary data source. If you’d like to customize the rule, you may alter how the attribute is defined.
Add data sources
Configure your data sources to identify from where the data for the attribute should come. Use conditions and operations (Set to, Extract, and Take latest) to specify how to retrieve your data. These operations allow you to define a target using an existing data source or extract data from a source.
Use data source operations
Use "Set to"- Set an inbound column name to a specified Google attribute
- Example: Set Availability to: my_first_feed.stockstatus
- Populate a target attribute with a single, set static string value
- Example: Set Condition to: “
new
"
- Example: Set Condition to: “
- Populate a target attribute with any combination of inbound columns, static values, or processed values. Use the concatenation (or combination) feature to create a string from multiple columns or values.
- Example: Set title to: my_first_feed.brand + " " +my_first_feed.title
- Set title to: my_first_feed.brand + " " +my_first_feed.title fails if both feed references cannot be resolved.
- Set title to: my_first_feed.brand + " " +my_first_feed.title doesn’t fail if only my_first_feed.brand cannot be resolved. Instead, it will become Set title to my_first_feed.title
[included_destination]
, excluded destination [excluded_destination]
, and excluded countries for Shopping ads [shopping_ads_excluded_country]
attributes.Use Set to multiple to assign this attribute with a list of values from either your data source, process attributes, or values you create.
This creates a repeated field, so that you can add a list of values to the attribute, and allows you to assign multiple destinations to the included destination [included_destination]
or excluded destination [excluded_destination]
attributes, or multiple countries to the excluded countries for Shopping ads [shopping_ads_excluded_country]
attribute. In the case of included destination [included_destination]
and excluded destination [excluded_destination]
, this means that you can assign Shopping_ads
, Display_ads
.
- Case sensitive: Match words and phrases in the exact case entered here.
- Keep only the first matching value: If the attribute you’d like to extract returns two or more possible matches, only the first value that you list will be extracted. For example, if you’d like to extract “yellow”, “red”, and “blue” from a title, and the title is “Blue-striped shirt in yellow”, only “yellow” will be extracted.
- Search as a regular expression: Match all values that follow a search pattern (or “regex”). You’ll need to enter your regular expression into the text field. For example, to remove everything other than the first six digits in an attribute, use:
find: '^(.{6}).*$' replace: '\1'.
- Whole words only: Match only entire words as entered. For example, prevent detecting the word “male” inside the word “female”.
- Take latest of: my_first_feed.availability and my_supplemental_feed.availability
- Take latest of: my_first_feed.price and my_supplemental_feed.price
- Take latest of: my_first_feed.sale_price and my_supplemental_feed.sale_price
- Take latest of: my_first_feed.sale_price_effective_date and my_supplemental_feed.sale_price_effective_date
Add modifications
Modifications allow you to add additional steps to change your data for a given attribute. Use conditions and modification operations to help you optimize your data. For example, you may alter certain words in your product title or update your data to meet product data specifications.
Use modification operations
Use "Prepend"- You may want to add a brand value to any title that does not contain one.
Keep in mind: Prepend modifications fail only if all data source references fail. For example:
- Prepend "color: " + f1.color fails if f1.color cannot be resolved.
- Prepend "color: " + f1.color + " " +"material: " + f1.material doesn't fail if f1.color cannot be resolved. It only fails if f1.color and f1.material both cannot be resolved.
- You may want to add a color value to any title that does not already contain one.
Keep in mind: Append modifications fail only if all data source references fail. For example:
- Append "color: " + f1.color fails if f1.color cannot be resolved.
- Append "color: " + f1.color + " " +"material: " + f1.material doesn't fail if f1.color cannot be resolved. It only fails if f1.color and f1.material both cannot be resolved.
- For the condition
[condition]
attribute, only the values “used
” “refurbished
” and “new
” are accepted, so you may change all instances of “vintage
” to “used
”.
- Case sensitive: Match words and phrases in the exact case entered here.
Use Add repeated field to add additional data to attributes that accept multiple values (for example, additional image link [additional_image_link]
, included destination [included_destination]
, excluded destination [excluded_destination]
, and others). In other words, add a second value to a repeated field that is already populated with a first value. It may also be used for custom attributes. (Use Set to multiple to populate attributes without any existing values)
Example:
Add the Display_ads
destination to a data source that already has Shopping_ads
as a destination.
Use Optimize URL to edit or remove URL components. This operator is built specifically for URL modification, and has safeguards for handling parameters:
- If you add a new parameter that already exists, it will be automatically replaced.
- If you add a second parameter, an & instead of a ? will be automatically added.
Example:
Add a new custom tracking parameter for ads_redirect
.
Starting ads_redirect value: https://www.myonlinestore.com/products/item1.html
-
Set parameter ‘utm_source’ with the value ‘
google-products
’ -
Set parameter ‘utm_medium’ with the value ‘
shopping
’
Final ads_redirect value: https://www.myonlinestore.com/products/item1.html?utm_source=google-products&utm_medium=shopping
- Case sensitive: Match words and phrases in the exact case entered here.
- Replace first match only: Match only the first instance of the word in a given attribute. For example, if the description is “silver earrings with silver feathers”, only the first instance of “silver” will be replaced.
- Search as a regular expression: Match all values that follow a search pattern (or “regex”). You’ll need to enter your regular expression into the text field.For example, to remove everything other than the first six digits in an attribute, use:
find: '^(.{6}).*$' replace: '\1'.
- Whole words only: Match only entire words as entered. For example, prevent detecting the word “male” inside the word “female.”
- You may want to populate the sale price
[sale_price]
attribute based on discount relative to price[price]
using multiply. - You may want to add various custom cost attributes together to calculate the cost of goods (cogs)
[cost_of_goods_sold]
. Learn more about the Cost of goods (cogs)[cost_of_goods_sold]
attribute.
The Split & choose option allows you to select one or more elements in a comma-separated, arrow-separated, or other list and use that text to populate an attribute value. For example, if your products are categorized using product_type
value Apparel & Accessories > Clothing > Uniforms > White Coats
, you can assign product type [product_type]
to a custom attribute, and use Split & choose to keep only "White coats". Then, you can use this value to append or prepend to other attributes in your data source, such as the title [title]
attribute.
Split: Signify at which type of node or symbol you'd like to separate your list. For example, ">" "," or ";".
Select: Select which of the elements, or nodes, you'd like to use. You can choose values like "first" or "last", or you can select a range of values, such as "1-second last" or "2-5".
Combine: If you have selected multiple nodes, use Combine to join them together in a single value, using a separator of your choice.
Example:
Create a custom attribute by splitting and selecting the last node of the product type [product_type]
string Apparel & Accessories > Clothing > Uniforms > White Coats
in order to append it to the title [title]
attribute.
Create a custom attribute with the name "last node product type"
Set the custom attribute to "my_first_feed.product_type"
Split: Split on ">". This divides the string into four nodes: Apparel & Accessories, Clothing, Uniforms, White Coats
.
Select: Choose "last". This selects the last node in the string, "White coats
".
Save as draft.
Create a new rule for the title attribute, for example to append the new attribute to the title: "my_first_feed.title" + " " + "last node product type"
Note: In this case, since you are only selecting one node from the string, you won't use Combine. If you want to use two nodes, you will use Combine on "," (for example: Uniforms, White coats).
Use "Clear"
n/a
" from a data source file.Example:
- For the brand
[brand]
attribute, if current value equals "n/a
", select Clear.Note: After the Clear operation has been executed for a specific product, no rules will further act on that product. If the attribute is required by the product data specifications, leaving the value blank may lead to your products being disapproved.
As you adjust your rule using the Data sources and Modifications operations, you’re able to see a preview of your Draft value in the top right corner of the screen.
To see how certain items will be affected by the changes, click the magnifying glass to search for an item ID in the catalog, or click the arrow to cycle through your products at random.
If you create multiple rules on the same attribute, you can see how each rule will affect the final value. When you’re finished editing, the intermediate value will appear next to the rule you’ve edited.
- If you make multiple changes using a single rule, the intermediate value will account for the combined changes.
- If a rule doesn’t apply to the item you’re viewing, the intermediate value won’t appear.
To see the Active value and Draft value as it will appear if your rules are applied, hover over the preview box.
Use conditions
Conditions can be added in front of an operation to filter items in your data source that meet certain criteria of your choosing. For example, to apply a title to all items of certain brand, you can set a condition for “brand” “equal to” “Google”. If you select an attribute from your data source, the condition will filter out existing values in the value you’ve chosen. For example, if you choose to append:
From the first drop-down menu, select either a data source attribute or a processed attribute to compare against. Product data source attributes are specific attributes from a specific data source. If you select a data source, you’ll be able to specify the attribute name and then select the raw data source value. A processed attribute is the final attribute value which includes any changes from applied attribute rules.
From the second drop-down menu, select the operator for the condition. For example, “contains” or “does not equal”.
Then enter the value you’d like the condition to compare against. This may be a static value or a processed attribute value from your data source.
To enter a second condition to be combined with the first, select AND. This can be anything, so long as it doesn’t contradict the first condition. If both of the conditions are valid, the operation will be applied. For example, you may apply the rule to shirts that are red AND size small.
You can also have the rule act on conditions independently. To do this, select OR and enter a second condition, so the rule will act on either the first or second condition. If either of the conditions entered are valid, the operation will be applied. For example, you may apply the rule to red shirts OR blue shirts.
Keep in mind
- When entering a price, use only the number without the currency.
- When using “equals”, make sure the value you enter exactly matches the value in your data source. For example, 13.00 may not be 13, $13.00, and others.
- Values are case insensitive.
Operations such as “set to” and “take latest” will only be applied if your conditions are met.
Save attribute rules
To save your rules and apply them to your data source, click the Apply changes button. After your changes have been applied, you will need to reprocess your data source. The new rules will appear on the newest upload on your product data, and will be applied to each upload until you make changes to the rules again.
To edit an existing rule, click on the gray box containing the rule in the "Rule" column. Apply any changes to the rule, and then click Apply changes to save your changes. Upload your product data to apply the edits.