On this page:

Setting it Up

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, 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 External Source 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. For example, 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 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", as it will work fine when you give full values, like IN Adidas|Nike. This case would work for both the 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 (ignore case) .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"

Campaign set up 

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. You can also create campaigns level extensions and campaign-level negative keyword lists. After that, you can create ad groups, keywords, ads, and ad group level extensions.

Use Existing Campaigns:

Create New Campaigns:

Campaign Ad Extensions

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, ad, and ad extension templates.

Applying labels at the campaign and ad group 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 will remove the association of campaigns/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 a label Adidas, the system will not remove it from the campaign.

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 automate 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. It is possible to label entities you don't want the Campaign Automator to enable, ask our support team for this feature.

  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?