Bid management
Bid management from Adformatic is a very flexible bid management system over which you have full control. The system is based on rules that you can adjust and expand yourself.
Bid management rules
Bid management consists of several rules. These rules are displayed in a spreadsheet and can be adjusted here.
A rule is always linked to an objective and a level (keyword or product partition). These are in the first two columns in the spreadsheet.
A line consists of a number of rows in the spreadsheet. These rows belong together because they have the same name in column 3.
Mandatory elements in every rule:
- General - active: The value in this row determines whether a rule is active.
- General - action: The action to be performed when the conditions are met.
- Selector: these criteria determine which keywords or product groups are filtered. A keyword is filtered and assigned to a rule if the conditions of all selector criteria are “TRUE”.
Optional elements that a rule can contain:
- SelectorModifier: These criteria can adjust the conditions of selectors. SelectorModifiers are individually evaluated. For each selectorModifier whose condition is true, the corresponding selector is adjusted by the specified factor. For example, if the selector is true at a minimum of 500 clicks (clicks> 500), then a selectorModifier can adjust this value, if the condition of the selectorModifier is met. For example when the quality score is lower than 5.
- BidChange: These criteria determine the bid adjustments. If multiple bidChange criteria are used, they are added together (if the condition is true). (If the action is pause, then no BidChange criteria can be entered.)
- BidChangeModifier: These criteria can factor in the bid adjustment to amplify or weaken the adjustment, if the modifier condition is met.
Example use selectorModifier:
In the example above, the value of the clicks selector is adjusted when the quality score is less than 4 or greater than 9.
(Additionally, the action of this rule is pause and this rule uses data from the last 200 days.)
At the bottom of this document is an overview of all metrics that can be used when drawing up the rules.
Possible changes
The mandatory criteria action indicates which adjustment must be made on the basis of the analyzes.
With search campaigns, one of the following three actions can be proposed or implemented:
- Bid adjustment (bid)
- Pause (pause)
- Alert
With Shopping campaigns, one of the following three actions can be proposed or implemented:
- Bid adjustment (bid)
- Exclude (exclude)
- Alert
In case of an alert, only an e-mail is sent, but no adjustment is made.
Default criteria
There are a number of default criteria. These are settings that apply to all lines in the spreadsheet. (If these rules are not set, bid management will not be performed.)
Default criteria | level | Description |
clickAssistedConversionsFactor | Default only | This criteria determines whether supporting conversions should be included in the calculation of conversion values. Entering 0.25 here means that each supporting conversion is counted as 25% of a normal conversion. If 0 is entered here, supporting conversions will not be included in the conversion statistics. (It is possible to use the metric supporting conversions in lines, but the supporting conversions will not be included in the “normal” conversion statistics). |
minImpressionsCompMetrics | Default only | This criteria determines how many impressions are used to calculate the average position or SearchRankLostAbsoluteTopImpressionShare . The impressions from yesterday to the past are added together. Each time with one day of data until the minimum number of impressions is reached. For example: When the specified number of impressions is 200, and yesterday there were 100 impressions and the day before yesterday there were 150 impressions. Then the 250 impressions from the last two days are used. |
dynamicDateRange | Default only | This criteria determines the period of the dynamic date range. (This period can be up to 90 days.) |
Default only | This criteria determines whether an email should be sent when the bid management is completed with a summary of the results. (The email will only be sent if there are any changes). | |
report | Default and overrideable at line level | This criteria determines whether the results of the rules should be written to a report. In this report, the changes are logged including all data used to make the decision. |
label | Default and overrideable at line level | This criteria determines whether the (proposed) changes to keywords must be made transparent by adding labels to these keywords. Only the labels of the last day are shown. |
automate | Default and overrideable at line level | This criteria determines whether the rule is allowed to perform the calculated adjustment (pause or adjust bid). Set this to “No” to test rules. |
maxMaxCpc | Default and overrideable at line level | This criteria specifies that the MaxCPC cannot be set higher than the value specified here. |
minMaxCpc | Default and overrideable at line level | This criteria specifies that the MaxCPC cannot be set lower than the value specified here. |
maxBidChange | Default and overrideable at line level | This criteria determines the maximum adjustment of a MaxCPC bid. The value is specified as a percentage. E.g. 5%. The CPC will never be adjusted by more than 5% at a time. |
maxPosition | Default and overrideable at line level | This criteria determines the maximum position. If a keyword has a position that is equal to or higher than the specified value, it will not be added. (declined). |
minSearchRankLostAbsoluteTopImpressionShare | Default and overrideable at line level | This criteria determines the minimum SearchRankLostAbsoluteTopImpressionShare. If a keyword has a lower or equal value, it will not be added. (declined). |
Objectives
Each rule applies to a type of objective. (one type of objective is for example MaxCPC or MinROAS). The objectives can be specified in the bidManagement tab of the spreadsheet settings. Here, for example, the amount of the MinROAS or CPO can be determined per account and per objective.
There are two types of objectives:
- A minimum roas, maximum cpo or maximum cpc. For these objectives, the height of this value must be entered in the column after the type in the spreadsheet. These rules do not take into account the expenses vs. the daily budget.
- MaxTraffic, maxConversions, maxConversionValue: No limit value needs to be entered. The standard rules will try to achieve as many conversions (or clicks) as possible within the set daily budget, regardless of the costs.
- There are also a number of custom objectives possible (Custom_1 to Custom_5). No limit value has to be entered for these objectives, but it is possible.
It is possible to set a target for the whole account. In addition, it is possible to give campaigns a specific target by means of labels. Multiple campaigns can share one objective with this, by giving them the same label at campaign level.
When a general objective has been generated, it only applies to the campaigns that have not been given a specific objective by means of a label.
The rules can compare the performance of keywords with the results of the campaign or groups of campaigns with the same objective. This allows rules to be created at keyword or product group level, whereby the actions depend on the realisation of the objective at campaign level.
It is also possible to set more generic rules where no comparison is made with an objective. For example, pause all keywords that cost more than € 300 and have a QS score lower than 5.
Ignore label
If you don't want a campaign or keyword to be included, add the ignore label: “A - ignore”. The campaign or keyword with this label will be ignored by the rules.
The results of an ignored keyword are included in the calculation of statistics at the campaign level. If you do not want this to happen, the keyword will have to be placed in a separate campaign.
Dynamic or static date range
You can choose per line which type of date range you want to use.
- For example, a fixed date range is 30 days. For the implementation of the rules, the data in the past 30 days is always considered. If necessary, a period can be used to ensure that the last adjustment to a keyword or product group is at least X days ago.
- You can also choose a dynamic date range. From yesterday, it is then checked whether there is sufficient data to satisfy all selectors of one of the rules. If there is no match with one of the rules, it will be looked back a day further. This up to a maximum of 90 days ago. For example, the date range used can differ per keyword or product group. Keywords or product groups with a higher volume will more often lead to an adjustment than keywords with a lower volume.
Rules with a dynamic date range are only executed when a keyword or product group had at least 1 impression in the previous day.
Maintain control over customizations
There are three ways to keep a grip on what is being modified or suggested by the system:
- All proposals and changes are logged per account in a spreadsheet. (see bidManagement tab, column E).
- You may receive an email with a summary of the changes and a link to the log in the spreadsheet.
- Labels can be added to the keywords for all changes. Labels only indicate what was changed the last time the bid management was performed. The labels are updated every time the bid management is running. You will only see the labels of the last run.
Frequency
The rules are enforced every day. This starts at the first possible moment (see settings tab). This will not be before 4 am to reduce the chance that the data has not been fully processed by AdWords. If you use Google Analytics to measure conversions, do not let the bid management start until 9:00 am. Then the data from Google Analytics is also fully updated for the previous day.
Track Changes
In order for the bid management to take account of the changes made to the account, changes in the account are checked every hour for all keywords and product partitions and the last change date is saved.
Not only the changes are tracked by this system, but all changes. This allows the system to also take into account adjustments that you make manually or that are made by a third system.
The freshness of the change log is checked before the bid management rules are executed. If the last update of the change log has been more than 6 hours ago, the bid management is not performed until the change log is up to date again.
The rules with a dynamic date range also check whether the change log for the keyword or product partition is available. If this is not the case, the rule for this keyword (or product group) will not be executed.
When new keywords or product partitions are added, they will be added to the change log within one hour at the latest.
Sharing rules between accounts
The bid management rules can be set on two levels. At the account level and at the MCC level. (In addition, the default rules of Adformatic can be used.)
In the setting sheet (tab: bidManagement) in column T (Bid management rules) you can set which rules should be used.
When rules at MCC level have been chosen. Then these can be set in the settings sheet in the tab “bidManagementRules”.
In column U you can click through to the rules at account level. Rules can be added at account level, if a rule has the same target, level and name as a rule on MCC, then this rule at account level overwrites the rule at MCC level. If the rule has a name that does not appear in the MCC rules, then this rule for this account is additional to the MCC rules. For example, the rules can be defined at MCC level, but exceptions can be made per account.
Spreadsheet instructions
The bid management rules are displayed in a spreadsheet. This spreadsheet is read every time the bid management is performed. Adjustments made here are immediately applicable and take effect the next time the bid management is performed. Usually this is the next morning.
In order to process the spreadsheet properly, there are a number of rules for completing the spreadsheet:
- Only rows 4 through 1004 are processed.
- There may be one empty row between lines, but no more than one. When more than one empty row is found, everything after that will be skipped.
- It is useful if all rows belonging to a bid rule are together. However, this is not necessary for the operation.
- The order in which the rules are processed depends on the order of the first row of a rule (see more about the order in which the rules are executed later).
- Rules with a fixed date range are executed first, then the rules with a dynamic date range are executed.
- You can give a rule any name. The only condition is that every rule (within an objective) has a unique name. It is advisable to choose a descriptive name. Do not use spaces or strange characters.
- Do not put text in the fields below the lines (within rows 4 to 1004).
Tips for adding lines
Do you want to add a row? Then copy an existing row of the same criteria. Then the row immediately has the correct validations. The same is true for other criteria types.
For example: if you want to add a selector, copy the line from another selector.
You do not have to add operators that are in white cells, this is done automatically. (For selectorModifier, bidChange and bidChangeModifier). These symbols help to clarify what is happening. However, you cannot enter another value here to change the behavior.)
Validation Rules
The rules in the spreadsheet are checked for errors before the bid management is performed. Only when no errors are found, bid management is performed. An e-mail will be sent if errors are found and columns L and M will tell you what is wrong. An email with a summary will also be sent.
Among other things, the following checks are carried out:
- More than one contiguous blank line
- Missing mandatory parts
- selectorModifier on nonexistent selector
- Correct number format
- Not an empty value
- Value within range
- No cells that should be empty.
Order of rules
First all rules with a fixed date range are executed, then the rules with a dynamic date range. When a rule with a fixed date range applies to a keyword or product group, this keyword or product group is no longer included for the rules with a dynamic date range.
The rules within a date range type are executed from top to bottom according to the order in the spreadsheet. The rules with a fixed date range are executed by date range and in the order that the date range occurs first.
As soon as a keyword / product group is assigned to a line because the selector conditions meet, this is the last line that is run through for the keyword / product group. A keyword / product group cannot be assigned to more than 1 line.
Start and end time
The start and end time determine in which time period on the day the bid management may be performed. This is important for three reasons:
- The start time may prevent the bid management from being performed before all data is collected.
- When the services of Google are not available (does not happen often), the bid management cannot be performed or cannot be performed quickly enough. The specified time frame determines until what time the bid management may attempt to complete the process.
- Large accounts may take longer to complete bid management. By specifying an end time you can be sure that no changes will be made by the system after a certain time.
The start and end time of the execution of the bid management rules can be set in the settings sheet, tab page bidManagement. The advice is to keep the end time as late as possible, so that the bid management has room to complete the processes.
Metrics description
The following metrics can be used for selectors, selectorModifiers, bidChange and bidChangeModifiers (in addition, the calculation of the metrics is also stated here):
- impressions : the number of impressions
- clicks : the number of clicks
- cost : the cost
- conversions : The number of conversions
- qualityScore - The number for the quality score
- averagePosition : the average position based on the averagePositionImpressions (this determines how many impressions are looked back to determine the current average position)
- label : this can be used to check whether a keyword has a certain label and the actions can be adjusted accordingly. Enter if value is the exact text of the label. For example, a rule can only apply to keywords with a certain label.
- bouncerate : the bouncerate of the keyword
- clickAssistedConversions : The number of conversions where the keyword has been supportive.
- costFactorMaxCpo : Cost / MaxCPO target. Suppose the costs are € 80 and the MaxCPO target is € 100. The costFactorMaxCpo is then 0.8.
- costFactorCampCpo : Cost / Average campaign CPO. Suppose the costs are € 80 and the average CPO in the campaign containing the keywords is € 100. The costFactorCampCpo is then 0.8.
- cpoFactorMaxCpo : CPO / MaxCPO target. Suppose the CPO of the keyword is € 80 and the MaxCPO target is € 100. The cpoFactorMaxCpo is then 0.8.
- campCpoFactorMaxCpo : This metric compares campaign performance to target. Average campaign CPO / MaxCPO (target). Suppose the campaign's average CPO is $ 80 and the MaxCPO target is $ 100. The campCpoFactorMaxCpo is then 0.8.
- cpoFactorCampCpo : CPO / average campaign CPO. Suppose the CPO of the keyword is € 80 and the average CPO in the campaign containing the keywords is € 100. The cpoFactorCampCpo is then 0.8.
- roasFactorMinRoas : roasFactorMinRoas = ROAS of keyword / product group divided by ROAS target.
- campRoasFactorMinRoas : campRoasFactorMinRoas = the campaign ROAS / MinROAS objective.
- roasFactorCampRoas : roasFactorCampRoas = ROAS of keyword or product group / campaign ROAS.
- cpcFactorMaxCpc : cpcFactorMaxCpc = avg. CPC of keyword / product group divided by the Max CPC target.
- cpcFactorCampCpc : cpcFactorCampCpc = the average CPC of the keyword / value of the MaxCPC target. Suppose the average CPC of a keyword is € 1.50 and the MaxCPC is € 2.00. Then the cpcFactorCampCpc is 0.75.
- campCpcFactorMaxCpc : campCpcFactorMaxCpc = the campaign average CPC / value of the MaxCPC target. Suppose the average CPC of a campaign is $ 1.50 and the MaxCPC is $ 2.00. Then the cpcFactorCampCpc is 0.75.
- cpcFactorTargetCampCpc : cpcFactorTargetCampCpc = the average CPC of the keyword / average CPC of the target campaigns. Suppose the average CPC of a keyword is € 1.50 and the average CPC of the target campaigns is € 2.00. Then the cpcFactorCampCpc is 0.75.
- targetCampCpcFactorMaxCpc : targetCampCpcFactorMaxCpc = the average CPC of the campaigns with an equal objective divided by the target MaxCPC.
- cpoFactorTargetCampCpo : cpoFactorTargetCampCpo = the CPO of a keyword / product group divided by the average CPO of all campaigns with the shared objective.
- targetCampCpoFactorMaxCpo : targetCampCpoFactorMaxCpo = the average CPO of the campaigns with an equal objective divided by the MaxCPO objective.
- costFactorTargetCampCpo : costFactorTargetCampCpo = the cost of a keyword / product group divided by the average CPO of all campaigns with the shared objective.
- roasFactorTargetCampRoas : roasFactorTargetCampRoas = the ROAS of a keyword / product group divided by the average ROAS of all campaigns with the shared objective.
- targetCampRoasFactorMinRoas : targetCampRoasFactorMinRoas = the ROAS of the campaigns with an equal objective, divided by the value of the MinROAS objective.
- clickShareTargetCamp : clickShareTargetCamp = clicks / clicks from all campaign with the same objective.
- conversionShareTargetCamp : conversionShareTargetCamp = conversions / conversions of all campaign with the same objective.
- valueShareTargetCamp : valueShareTargetCamp = conversion value / conversion value of all campaign with the same objective.
- hasRecommendedBudget : Indicates whether Google is proposing a different (higher) budget for this campaign. This is an indicator that campaign performance is limited by budget. Possible values are "Yes" and "No".
- bounceRateFactorCampaignBounceRate : To be able to add up the bounce rate per day, a weighted calculation is needed that uses the sessions instead of the clicks. These are not available in AdWords (without retrieving them separately from Google Analytics). For this reason it was decided to work with fixed data periods. When a fixed date range is specified, this range is equal to the date range range. When a rule has a dynamic date range then three date ranges can be used 7, 14 or 30 days. When the period is less than 7 days, 7 days is used, if the period is 7 - 13 days then 14 days is used, otherwise 30 days is used.
- campaignSearchBudgetLostImpressionShare : The percentage of impressions missed due to a campaign budget constraint. This is always calculated over the last 3 days.
- searchImpressionShare : The percentage of impressions realized divided by an estimate of the maximum number of impressions available for this ad.
- searchTopImpressionShare : The percentage of impressions realized on a top position (above the natural results) divided by an estimate of the maximum number of impressions available for this ad on the top position.
- searchAbsoluteTopImpressionShare : The percentage of impressions realized on the first top position divided by an estimate of the maximum number of impressions available for this ad on the top position.
- searchRankLostImpressionShare : The percentage of impressions missed due to a low ad rank, based on an estimate of the maximum number of impressions available for this ad.
- searchRankLostTopImpressionShare : The percentage of impressions missed at a top position (above the natural results) due to an ad rank that is too low, based on an estimate of the maximum number of impressions available for this ad on a top position.
- searchRankLostAbsoluteTopImpressionShare : The percentage of impressions missed on the first top position (above the natural results) due to an ad rank that is too low, based on an estimate of the maximum number of impressions available for this ad on the first top position.
- topImpressionPercentage : The percentage of impressions achieved that were displayed in a top position.
- absoluteTopImpressionPercentage : The percentage of impressions achieved that was displayed in the first top position.
- period : with this you can indicate how many days of data should be used at least or / and at most with a dynamic date range. This metric can also be used with a static date range, if the period since the last change is shorter than the specified period, the rule will not be executed.
With a number of metrics, Google returns the value as a percentage. In some cases, no exact value is returned, but "< 10%" of "> 90%". To be able to calculate with this value, this value is converted as follows: "< 10%" = 0% and "> 90%" = 95%.
Questions?
If there is anything unclear about the functionality or this documentation. Or if you want advice. Please contact us.