Google Ads

Keep track of your AdWords changes with labels and Slack

October 1, 2018

Despite of Google having released the new AdWords UI that includes the then highly anticipated notes function, it’s still not easy to keep an eye on all the small changes you make in the bunch of accounts you probably manage.

Of course, if you plan to test a different campaign setup with a lot of traffic you just set up an experiment and there you go.

But what about all this small stuff you do along the way? I mean, especially in well-established accounts that are “just running”. I’m talking about adding another keyword here, setting a device modifier there, and throwing in new ads from time to time.

The new notes function is not suitable to help you monitor such changes. And manual spreadsheet note-taking etc. isn’t the solution either. Wait. But why?

Because, depending on what entity you touch, i.e. high or low-volume keywords, there’s a big difference in when it makes sense to have a look into how the entity has performed after your changes. You change keyword X, and X generates 100 clicks per day → You better control that keyword on the same day. You change keyword Y, and Y generates 30 clicks per month → Relax for a while.

So, who really wants to jump into accounts and control all these small changes on a daily basis, each time first having to check for a sufficient amount of clicks to have happened after the changes for each single modification.

To the rescue, I introduce to you the power of AdWords Scripts, Google Firebase Database, and Slack, your favorite communication tool that even Google suggests to be combined with AdWords reporting.

You will get the script and short setup instructions in a second, let me just quickly explain how it works.

You will install the script and let it run hourly in your AdWords account. You will have a label in your account which you use to flag all entities (by default, keywords, adgroups, and ads are supported) that you want to monitor. Let’s name this label CONTROL for now.

So you change a keyword in some way and then you put the label CONTROL on that keyword. When the script runs the next time, it will notice that you labelled a new keyword with CONTROL and it will write the hour and some other details into a database. Now each time the script runs, it will have a look into your CONTROL entities to see whether they trigger a slack reporting condition. By default, the script knows two types of triggers, time and stats-based.

A stats-based trigger by default is clicks|30, which means you will get performance stats to your slack channel as soon as the entity passes 30 clicks after having received the CONTROL label.

The default time-based trigger is weeks|1–4, that is, starting from 1 week after the entity has received the label, performance stats will be sent to your slack channel on a weekly basis until 4 weeks will have passed.

The stats in slack will compare the period that passed after setting the label to the period of the same length prior to setting the label. For the stats-based trigger this can be very dynamic with one day being the smallest interval, though. The default time-based trigger will always compare full weeks (7 days).

The following screenshot shows a slack output for a keyword that was newly created and received the CONTROL label (that’s why all comparison stats show 0).

The slack output (very plain by default)

Once you want to stop monitor an entity you just remove the label.

Setup instructions

Login to Google Firebase (it’s free), create a project and a realtime database within that project. Edit the database rules to only allow authenticated access:

{
 “rules”: {
 “.read”: “auth != null”,
 “.write”: “auth != null”
 }
}

Note the database URL and the database secret:

Create a Slack App for your Slack workspace and activate incoming webhooks. Note the Hook URL that you can find under Apps Management → Custom Integrations → Incoming WebHooks

Copy the script at the end of this story and add it to your AdWords account, put in the needed Firebase and Slack config data.

Configure the stats-based trigger and the time-based trigger according to your preference.

Activate hourly running for the script.


You can now enjoy labeling entities in your account and automatically receiving stats in Slack. For the best experience you should style the Slack output a bit :) All needed information is provided by Slack.

Neugierig geworden?
Skalieren auch Sie mit der richtigen Marketing Technology. Sprechen Sie uns an.