All Collections
Campaign Automator
Campaign Automator - User Guide
Campaign Automator - User Guide
Geetanjali Tyagi avatar
Written by Geetanjali Tyagi
Updated over a week ago

On this page:

Setting it up

Create a template

Click 'Create New Template'. Here you can create your own template or just copy one from the same or a different account.

Data Source

The first step is to connect a data source and set a template name. This template can be reused as many times as needed. The feed data can come from a Google Spreadsheet, Merchant Feed, or other sources like XML, FTP, or Amazon S3.

We can support almost all feed/data types; just ask our support team. We have some sample data spreadsheets available for you to see how the Campaign Automator works beforehand. 

The Source Data Feed tab will have the option to add more details on the campaign buildout, such as the name and spreadsheet URL. Here you can also change the external source and download the data, specify a sheet name and select the columns available to be used in the template.


This is where you'll be specifying the conditions on how to handle the data in the data source. Inventory conditions or rules are used to specify which data from the feed you want to use to build campaigns.

This is where you specify that you only want to run ads for products that are in stock or available. Campaigns, ad groups, keywords, and ads for products that don't match the inventory conditions or that are removed from the feed are automatically paused.

For example, if the inventory setting for a template is to include the category home and garden and stock greater than 0, then the tool will look at all the rows in the feed where the category is home and garden, and the stock is greater than 0.

On that data, it will then run the templates created for campaigns, ad groups, ads, and keywords. If the setup is to include one ad group for each product in the feed, it will create an ad group for each product in the feed with the ads and keyword templates. If a product's stock becomes 0, the tool will pause the corresponding ad groups.

To add multiple values in OR condition you can:

  1. Use "in (ignore case)", as it will work fine when you give full values, like IN Adidas | Nike. This case would work for both cases when Brand is Adidas or Nike.

  2. "contains any (ignore case)". This will work when you can't have full values in OR condition, for example, "URL contains any .co | .uk". This case would work for both cases where URLs have .co OR .uk in them.

Note: To see these options, you need the column type as "Text."

Ad Group Inventory

You're also able to add inventory conditions at the ad group level, which can help you make sure you only run ads for products that meet the Ad Groups criteria. For example: if you have an ad group that should only contain premium brands, you can create a filter to include only products which contain the attribute premium.

Ignore entities that have following labels

You can use this option when you want to prevent the tool from making modifications to entities, like ads, keywords, ad groups, and campaigns once it runs. You can add multiple labels separated by commas.

For example, if you've manually paused a Campaign that, based on inventory data, should be enabled, and you want to make sure the tool doesn't reenable it on its next run, you can label the campaign in Google Ads and specify the label in this field, and its status won't be updated.

Modified Data Columns

Modified Data Columns are a way to pre-process data from your data feed that can then be used in the keyword and templates. They are created as new virtual columns using existing information from your data feed.

For example, if you want to use the 'Brand' column in the ad template but need to capitalize the first alphabet, you can add a modified data column for that.

For more on this, read this article.

Campaign setup 

Once the external data source is selected, you can move on to the campaign setup. You can choose to create new campaigns or work with existing campaigns in your Google Ads account.

Use Existing Campaigns:

Create New Campaigns:

Applying labels at the Ad, Ad Group, and Campaign level

  • Using the dynamic insertion, you can create labels like {Brand} or {category}, and each variation will be added to the entities.

For example, if you have 5 brands in the source file and you add {Brand} as a label, 5 labels will be added to the campaigns.

  • Campaign Automator will add/remove the labels based on the template and source feed.

For example, if you added {Brand} as a label, and in the next run, one brand Adidas is no more in the source file, the system will remove the association of the label Adidas with the campaign. However, the label Adidas will be present in the Google Ads interface.

  • The system would remove the association of campaigns/ads and ad groups with labels only if they were associated with the template.

For example, if there is any other campaign not created through a Campaign Automator template or not linked to it that has the label Adidas, the system will not remove it from the campaign.

Campaign Attributes

You can create campaign(s) of the following types: Search, Display, or Dynamic Search Ads.

1. Choose where your ads appear

  1. Search Partner Network: Your ads would be eligible to show on all Google search websites and Google Search Partner websites.

  2. Display Network: Your ads would be eligible to show on all Google websites, videos, and apps like YouTube and Gmail.

2. Configure budget

Select the budget type to be individual or shared budget and specify a budget amount.

3. Target or Exclude locations

Enter the location IDs you want to target or exclude. You can choose to target by radius also.

4. Configure advanced location options

There are 2 advanced location options listed below. These let you target people based on their physical presence or areas of interest.

Target based on presence or interest: This option targets people who are physically present or have expressed their interest in your targeted location.

Target based on presence: This option lets you reach people who are likely to be in or regularly present in your targeted location.

5. Select a bidding strategy for your campaign

Choose the required bidding strategy for your campaign using this option. You can also choose to set a Target CPA for Maximize Conversions, a Target Cost for Maximize Clicks, and a Target ROAS for Maximize Conversions Value. Portfolio strategies are supported.

6. Manage audiences

To target audiences with special interests, specify the respective audience IDs.

Negative Keywords List

You can add negative keywords at the campaign level using the negative keywords list. These are created at the account level and shared across the associated campaigns.

If you already have an existing list, you can select add an existing list or create a new list entirely.

Campaign Ad Extensions

We now support Call extensions in ad groups and campaigns.

Ad Groups

When creating ad groups, you can choose to add multiple ad group templates. Inside each ad group template, you can add multiple keywords, ads, and ad extension templates.

You can also create call ads to initiate calls to your business. Make sure to add an appropriate final URL or verification URL to allow users to visit your website.


Here you can also add Final URLs for keywords while creating keywords (optional). These Final URLs can be built dynamically using the source file's headers or could be a manual input. This can be done while creating new keywords and while modifying existing keywords in the template.

Removing the URL from the template will show a warning in the preview, as we are not able to remove the URL from Google Ads. If you want to remove the URL from Google Ads, you'll need to do so manually in the Google Ads interface.


If the template suggests new Ad groups and there are no valid ads, the ad group won't be created as it's not possible to create Ad Groups with 0 ads. This could happen if all ads have warnings or if they are ETAs (now deprecated.) In such cases, the preview will show a warning for the invalid ad group.

Ad Extensions

We now support Call extensions in ad groups and campaigns.

Bulk Actions

Bulk Edit

Using the bulk edit option, you can replace the column header. For example, if the column name in the source file changed, you can use this option to change it in the template/s too.

You can also bulk replace text, which will check for exact CASE and replace any occurrence of the text.

For example: Replacing “shoes” with “sneakers” will result in:

  1. Buy shoes at the lowest price —> Buy sneakers at the lowest price

  2. Buy black shoes now → Buy black sneakers now

  3. Buy running Shoes → no change

Bulk Automate

You'll also find the option to bulk automate by selecting multiple templates across your account and automating them in one go.

Things to keep in mind

  1. If you’re using a script to automatically adjust budgets (like our Reach Target Monthly Budget script), try not to use data that is prone to change in the dynamic fields for the budget name. Prefer static names.

  2. Keep in mind that minor changes (like capitalization) in the Source File are also considered by the tool, and the tool will pause and create new entities accordingly. 

  3. If you have an automated Rule Engine strategy to automatically pause campaigns, ad groups, or keywords that were created by Campaign Automator. The Campaign Automator will re-enable them on the next scheduled run.

  4. If Campaign Automator fails to create an ad due to the character limit being exceeded, it will proceed to create a Default Ad.

  5. If multiple templates try to create or update a campaign with an identical name, the templates will end up interacting with each other.

Demo Videos

Automate Building Search Campaigns from a feed:

Learn With Optmyzr: Campaign Automator

Did this answer your question?