On this page:
Is Campaign Automator part of the Optmyzr subscription plans?
Campaign Automator is available for free on either one Google Ads or one Microsoft Ads account per subscription. If you wish to use it on more accounts, you can do so at a monthly fee of $89 per account.
You can contact our support team at support@optmyzr.com for custom quotes on pricing for a large number of accounts.
Can I set up Campaign Automator on my own?
Yes, it is possible to set up Campaign Automator on your own if you use a Google Spreadsheet or Merchant Center feed as a data source.
If you would like to use a custom data source like a CSV file, FTP, XML, etc. then it will require our engineering to set up the connection.
The Campaign Automator solution requires some bits of customization, so there is a setup process that needs to be followed. For this, our team will help you get it up and running, and though this process is required, it is still possible to test it out with data in a Google Spreadsheet.
Can I use extra columns with a Merchant Feed source?
If you'd like to use an extra column that is not available in the list of the columns fetched by the tool directly, you can add the ones you want to work within the following section:
You can add multiple columns using commas, and when you save this, the column names will be available to be used in the dynamic insertion drop-down, too (the list of columns you see when you press curly braces "{").
How can I use min, max, and count functions in ads?
It is possible to dynamically insert minimum, maximum, and count functions in ad templates. They enable you to show the minimum price for a group of products in the ad.
For example, if you have an ad group for each brand and product category, you can display the minimum price for that category in the ad. The ad can say, "Prices start from $20".
The format for using the min, max, and count functions is mentioned below. It supports the min, max, and count at both the campaign level and ad group level.
When you type the curly bracket '{ }', and select an attribute from the feed to insert, it will show you the option to select a min, max, or count value at the campaign or ad group level.
How do the min, max, and count functions work?
The system finds all the products that fall into a specific campaign and ad group and finds the minimum, maximum, or count of the field mentioned.
For example, in the case of the 'min' function, if you have an ad group for each Brand and Product Type, then the minimum function on the Price field finds the lowest price among all the products included in that ad group.
Can I get the total sum of certain columns and use that while creating structures?
You can sum up multiple columns using the "Sum" function in Campaign Automator.
For example, as shown in the screenshot attached below, the Jeep Wrangler is available in different colors. If you wish to calculate how many total Wranglers are left (assuming that you've created a campaign/ad group for a combination of {Make} {Model}), you can use the "Sum" column to get the total number of Jeep Wranglers left in stock (by totaling the ModelsLeft column).
When you type the curly bracket '{ }' and select an attribute from the feed to insert, it will show you the option to select the total value at the campaign or ad group level.
How does the Sum function work?
To understand this, let us consider the example mentioned above. Based on the inventory shown in the screenshot (above), let's assume you're creating a single campaign and creating ad groups dynamically using the combination of the following attributes: {Make} {Model}.
Now, let's say you wish to add a description line saying "Only {X} cars left in stock." As there are multiple variations for the same car model (in this case, Jeep Wrangler), you'd need the sum of the total number of models left (including different color variations).
Therefore, you can easily add a description line by using the "Sum" function at the ad group level, which gives you the sum of ModelsLeft. Please refer to the gif attached below to see how you can use the sum function.
So, for the Jeep Wrangler ad - the description line would be "Only 16 cars left in stock". (12 Black Red + 3 Blue + 1 Metallic Grey).
Note: The functions count and sum work with the numerical values only. If you have instances where you’d like to use these functions on formatted values like 4 pcs, 12 miles, etc., please reach out to the support team.
Does "Campaign Status" define the status of all the new campaigns?
When creating a template for the first time, the “Campaign Status” field in the “Campaigns” tab will define the status of all the new campaigns created, and the items such as ad groups, keywords, ads, etc. will be created as “enabled”.
This only happens the first time it runs. The next time it runs it’ll enable all the existing matching campaigns.
How do inventory filters work?
The inventory conditions function as AND conditions, so all conditions should be met for the action to be applied.
Why did my campaigns not get paused when none of my products matched the conditions of the Inventory filter?
Unmatching campaigns, ad groups, ads, or keywords will only be paused if the system finds other entities that match the inventory conditions. In other words, if no rows in your feed match the conditions, no campaigns will be paused.
We take this approach to safeguard you against accidental changes made to your feed that result in no eligible products, according to the Inventory filters. The system ensures that mistakes or momentary changes do not disrupt your campaigns by not pausing entities in such situations.
For example, let's assume you're an advertiser who has created campaigns using Campaign Automator for different categories of products in your catalog, such as 'Alpha' and 'Beta'.
If you later decide to pause all campaigns advertising the 'Beta' product category, you can set the Inventory filter to 'Category is equal to Alpha'. This will prompt the system to pause all campaigns that do not match the filter, i.e., those advertising the 'Beta' category.
However, suppose there's a change to your feed, whether accidental or intentional, where the 'Alpha' category name is altered. In that case, the system won't find any rows in your feed that match the condition 'Category is equal to Alpha'. Instead of making a decision to pause campaigns and potentially causing disruption, the system will refrain from taking action.
How to check for multiple text values in the same field?
To check for multiple text values you'll need to use '|' in the conditions, as it is an 'IN' operator. If you use the ',' character, you'll encounter an error.
How do I review all the changes made by Campaign Automator after I've applied it to Google Ads?
You can click on "Apply details" on the optimization history page to review the changes made by that run through Campaign Automator.
Will Campaign Automator overwrite manual budget changes in the campaigns it created?
No. Campaign Automator will not overwrite your daily budgets. It will use your template settings as a default value for any new campaign.
Is it possible to run two or more Campaign Automator templates on the same campaign?
It is possible, but unless you set up ad group-level inventory conditions, we advise against this practice, as the templates will end up interacting with each other and could end up pausing a campaign that, according to other templates, should remain active.
Can I use Optmyzr Budget scripts if I’m using Campaign Automator?
Reach Target Monthly Script
If you’re using this script try not to use data that is prone to change in the dynamic fields for the budget name. Prefer static budget names.
The reason for this is that if the budget name is dynamically generated by Campaign Automator, and if the name doesn’t match the budget name specified in the script settings, then the script will stop updating the daily budget.
Pause When Things Spend Too Much
It is possible to use this script but keep in mind that Campaign Automator might end up re-enabling the entities the script paused.
To avoid this, you can use the label added by the script in Campaign Automator’s “Ignore Entities by Label” option in the Inventory Conditions menu.
When the Pause When Things Spend Too Much pauses an entity, it automatically assigns a label. By default, the label is "stopped by budget script" followed by the budget period from your script settings in parentheses. So you could use any of the following in your Campaign Automator “Ignore Entities by Label” setting:
stopped by budget script (Daily)
stopped by budget script (Weekly Mon-Sun)
stopped by budget script (Weekly Sun-Sat)
stopped by budget script (Monthly)
stopped by budget script (Custom)
See screenshot below:
Can I use Optmyzr’s optimizations for bids if I’m using Campaign Automator?
Yes! Campaign Automator will not overwrite your bids and bid modifiers.
Can I use Optmyzr’s optimizations for keywords if I’m using Campaign Automator?
Keyword Lasso, Negative Keyword Ideas, and Traffic Sculptor
You can safely use these tools, as adding new positive and negative keywords to any campaign created with Campaign Automator will not cause any conflicts.
Pause Non-Converting Keywords, One Word Keywords, and Keyword De-duper
If the paused or removed keyword is being dynamically generated by Campaign Automator, it will be re-enabled (or added again) on the next run.
As an alternative, it is possible to label the keywords you don't want the Campaign Automator to enable and specify the label on the “Ignore Entities by Label” option in the Inventory Conditions menu.
Note: The process of Pausing and Labeling Non-Converting Keywords can be streamlined and automated with Rule Engine.
Can I use Optmyzr’s optimizations for ads if I’m using Campaign Automator?
Ad Text Optimization
If an ad is edited and matches your Campaign Automator template, it will be enabled and included in the Campaign Automator template scope.
If an ad created by Campaign Automator is edited to no longer match the template, it’ll be paused on the next run.
A/B Testing for Ads
If an ad created by Campaign Automator is paused by the A/B Testing tool, it’ll be re-enabled on the next run.
However, it is possible to label entities you don't want the Campaign Automator to enable. For this, you can use the “Ignore Entities by Label” option in the Inventory Conditions menu.
Responsive Search Ads
You can create new Responsive Search Ads for your Campaign Automator campaigns using this tool. As long as they’re not identical, Campaign Automator will not change their status, as it will recognize them as “manually” created ads.
Will Campaign Automator create a new ad or update the ads it has already created?
Before creating a new ad and pausing ads, existing ads are compared for similarity level. The similarity is considered in each Ad element for editing an Ad. This is done for Expanded Text Ads and Responsive Search ads.
The allowed limit for each element is 10 characters of difference.
Expanded Text Ads:
Headline 1 is compared against Headline 1, and similarly, all other elements are compared.
Final URLs for both ads are compared only if the Ignore Final URLs check is set to NO in the template.
Responsive Search Ads:
Final URLs and paths are compared similarly as above.
For headlines and descriptions, the entire list is compared to find similarities.
Please note that if one ad has 4 headlines, the other ad has 6 headlines and if any of the 4 are found to be similar, then the ad will be edited/updated.
Let’s use this hypothetical scenario:
The Campaign Automator template runs and determines that 5 ads have to be created (new), and 3 ads have to be paused for the same ad group. Then it compares these 5 new ads and the 3 old ads to find similarities.
If the ads are found to be similar, then the ads get updated instead of paused.
Let’s suppose that 2 out of those 3 ads are similar to the existing ads. In this case, the tool edits 2 existing ads, and 1 is paused.
How to dynamically generate a Final URL using my feed details?
Depending on how structured and standardized your landing page URLs are, you can use information from the feed to dynamically generate your ads’ Final URL.
If you’d like the landing page to be a specific search results page from your inventory, you can look at the URL generated when you search for one of the listed products and replace your search query and selected filters with dynamic variables in Campaign Automator.
For example, for the search results page:
If the URL looks like this:
You can probably replicate it using variables from your feed. Your ad template's final URL can be:
Why are the Min/Max or inventory conditions not applied to the price?
Applied only to numerical values, if there is something else in the source file, we can help you out by creating a modified data column.
For example, values like 123,469 OR 123,- OR 123/- should be converted to a plain number using a modified data column to apply min/max functions.
Which Audience types are supported in Campaign Automator?
Optmyzr’s Campaign Automator only supports the audience criteria type “user interest”.
You can find the supported codes here: Codes and formats.
For this, the following sections are supported:
For search campaigns, these are added at the campaign level and for display at the ad group level.
Can I update the campaign name in a template that has been run and applied?
Yes, you can. You'll find the option to edit the campaign name once the template has been run. However, this change is going to affect your existing campaigns that were created using the template. Therefore, you should use this option only when:
The name of the campaigns created by this template was changed in Google Ads and you want this template to work with them. You can change the campaign name in the template to match that in Google Ads and it will start working with them.
You want to pause the current set of campaigns associated with this template and instead create new campaigns with the same settings. Please note, that the existing campaigns will stay associated with the template and if the campaign name in the template matches with them in the future, they will be enabled/edited.
Can I use Campaign Automator to update existing ad groups?
Yes! To update an existing ad group, ensure that the name of the ad group generated by the Campaign Automator template matches the name of the ad group you want to update.
Let's say you have an existing ad group called "Summer Sale - Campaign A" that you want to update using Campaign Automator. When creating a new ad group with Campaign Automator, make sure to name it exactly "Summer Sale - Campaign A". This way, Campaign Automator will recognize it as the ad group you want to update and apply the desired changes.
Where can I find audience IDs?
Audience IDs can be found in the Google Ads API documentation. Specifically, look for category IDs and parent category IDs within various audience tables such as Affinity Categories or User Interests.
Audience IDs for Microsoft Ads can be found in the Microsoft Ads API documentation. Only 'In-market' audiences are supported as of now.