Shopping campaigns aren’t like Search campaigns with all their precise knobs, levers, and switches. For Shopping campaigns you just give Google a feed of products and hope it can match them to the right queries. It’s a lot like pure broad match (ugh!). You can have negative keywords, but no positive ones.
Many advanced PPCers have circumvented this lack of control using strategies like this one by @bloomarty, which funnels queries into different campaigns using priority settings and negatives. This is a superb strategy and will undoubtedly offer you more control over Shopping campaigns. We’ve been using it with great success — but sometimes we need more granularity than three priority levels.
What follows here is an AdWords script from Brainlabs that allows you to choose the exact searches your Shopping campaigns appear on. The script reads a Google spreadsheet that you’ve created and matches that against your campaigns’ queries. It’s a bit like our script to reverse close variant matching, only your keywords are stored in a spreadsheet instead of in the account. If there’s a query that doesn’t match one of your keywords, a negative keyword will be added to exclude the query.
The script chops the query into bits and makes phrase match negatives wherever possible, so each negative can exclude as many unwanted searches as possible while keeping anything that matches the keywords. It’s a bit of a hack, but if you read on, you’ll see the results are worth it.
Using this script, you could run one campaign just for your key search terms. But it also means that you can run your Shopping campaigns like the best Search ones — with separate Broad and Exact campaigns. The Exact campaigns will bring in your “business as usual” traffic, and your Broad ones bring in the less predictable long-tail queries. A basic version might look something like this:
The beauty of using scripts is that you can get a lot more granular than that with no limit on scale. The Exact campaign contains ad groups, each of which has its own set of keywords that you can define in a spreadsheet.
So you can match specific keywords to bids and products. This is a really handy feature — the ability to decide the product range that you want to show for specific generic queries.
When we implemented this strategy for our cycle clothing client, Always Riding, we saw a revenue increase of 148 percent, with a 61 percent improvement in ROAS. Isn’t that marvelous? Someone should tell Google that keywords are a great way to manage online advertising campaigns.
If you’re new to scripts, check out the excellent AdWords Scripts series by Ginny Marvin before starting.
Write your exact match keywords into a Google Spreadsheet, with their campaign and ad group.
Note that there are no “close variants” here — the script will exclude searches that are as much as a letter off. Also note that the script ignores capitalization and treats all punctuation (aside from ampersands) as a space, so “Spider-man’s” is the same as “spider man s” here.
Set your Broad shopping campaign to High priority. Copy all of your keywords from your spreadsheet and add them as exact negatives. Set your Exact shopping campaign to Low priority, so it only picks up queries that can’t be taken by the Broad campaign. Then, copy the script and paste it into your account. At the top of the script, you need to change spreadsheetUrl to the URL of the Google Doc spreadsheet with the keywords in it.
Before running the script for the first time, click “Preview” — the script will run but won’t actually make changes, so you can see what negatives the script is going to add. If there are any problems, then there will be messages in the Logs.
When it looks like everything is fine, click “Run script now” so the script will run for real and actually add negatives. Then, schedule the script to run daily — that means it can keep reading your new queries and adding new negatives.
If you want to add new Exact keywords later:
Because the script checks search queries daily, it can add negatives for anything required. You don’t have to worry about changing the Exact campaign’s negatives if you’re adding negatives to the Broad campaign, and you don’t have to worry about letting in the wrong queries if you take negatives out of the Exact campaign — the script will fill in the necessary negatives once they appear in the SQR.
If you want to split up your budget, you can have multiple Exact campaigns; because you’re funneling queries with the script’s negatives, you can have multiple campaigns at the same priority.
If this version is popular, then we’ll work on another version with phrase match/broad match modifier. We’ll also add functions to automatically add the Exact keywords as negatives to the Broad campaign, and check for conflicts between new keywords and existing negatives (hat tip @RichardFergie). Let us know if you think of anything else.