Alfred Simon

6 min

Google Shopping Zombie SKU's - Step-by-step guide

Updated: Jun 23, 2023

Google's algorithm is super smart, and when used correctly, it delivers outstanding results.

We all know that, and we use it every day.

Since its launch, Shopping, Smart Shopping, and now Performance Max campaigns have been the focus campaign for eCommerce.

However, like every "perfect" system, it has some more minor and more prominent flaws. But, that is a discussion for another time.

Now let me help you solve one of the flaws.

If you want to skip the small talk, click here

No time for reading it? Watch the video tutorial!


Table of contents


 
Let's wake up your Zombie products.
 
An automated system to create a healthy rotation in your feed.
 
Step 1. Add the script to your Google Ads account
 
Step 1.1. Create the Spreadsheet.

Step 1.2. Edit the script.

Step 2. Create the supplemental feed.

Step 2.1 Combine the supplemental feed with your main product feed.
 
Step 3. Create a new campaign
 
Performance Max or Regular Shopping campaign?
 
Conclusion


Let's wake up your Zombie products.

All these highly sophisticated systems are tuned for performance. That's what Google wants us to believe.

Anyway, let's say we believe them.

The algorithm will test all your products from the feed, and when it finds the products with the best price and chance to sell, it will push them.

When I say it will push them, they will become the cash cows. Google wants to deliver a good performance, and as soon as it founds the "saint grails" in your feed, the algorithm will focus on those products.

But you might ask: What happens to the rest of the products?

Well, that's an excellent question, and in this guide, I will explain that.

Often these products get forgotten and barely get any attention. The below-presented solution will create an automatic rotation in your system to give your products a new chance to shine.

An automated system to create a healthy rotation in your feed

The script and guide below will help you to export all your "zombie products" from your Google Ads account.

The script will check your products on a time frame set by you (let's say the last 30 days) and export all the products based on the criteria you set up (exp: impression < 10). These products' IDs will be exported to a Google Spreadsheet, which you can use as a Supplemental feed in your Google Merchant Center account.

Combine the supplemental feed with your main product feed, assign the sleeper SKUs to a custom_label, and voila, you have all your zombie products under a label.

After that, it's up to you how you want to use them.

Let's see how you have to set this up.

Step 1. Add the script to your Google Ads account

Firstly, you must add the script below to your Google Ads account.

The script:

// Copy the link of the new sheet and paste it below -
 
var SPREADSHEET_URL = "Paste your Google Spreadsheet link here";
 

 
// Enter your filters below, for multiple filters use AND clause. E.g. Impressions > 100 AND
 
// Currently default filter is Clicks < 1 i.e. Zero Clicks
 

 
var FILTERS = "Impressions < 10";
 

 
// Enter time duration below. Possibilities:
 
// TODAY | YESTERDAY | LAST_7_DAYS | LAST_WEEK | LAST_BUSINESS_WEEK |
 
// LAST_14_DAYS | LAST_30_DAYS | THIS_WEEK_SUN_TODAY |
 
// Currently default time duration is set to: LAST_30_DAYS
 
var TIME_DURATION = "LAST_30_DAYS";
 
var COUNT_LIMIT = 999999;
 

 
function main(){
 

 
var products = getFilteredShoppingProducts();
 
products.sort(function(a,b){return a[0] > b[0];});
 
products = products.slice(0, COUNT_LIMIT);
 
pushToSpreadsheet(products);
 

 
}
 

 
function getFilteredShoppingProducts(){
 
var query = "SELECT OfferId FROM SHOPPING_PERFORMANCE_REPORT WHERE " + FILTERS + " DURING "+ TIME_DURATION;
 

 
var products = [];
 
var count = 0;
 
var report = AdWordsApp.report(query);
 
var rows = report.rows();
 
while (rows.hasNext()){
 
var row = rows.next();
 
var offer_id = row['OfferId'].toString();
 
products.push([offer_id]);
 
count+= 1;
 
}
 
Logger.log(count);
 
return products;
 
}
 

 
function pushToSpreadsheet(data){
 
var spreadsheet = SpreadsheetApp.openByUrl(SPREADSHEET_URL);
 
var sheet = spreadsheet.getSheetByName('Custom_Label');
 
var lastRow = sheet.getMaxRows();
 
sheet.getRange('A2:A'+lastRow).clearContent();
 
var start_row=2;
 
var endRow=start_row+data.length-1;
 
var range = sheet.getRange('A'+start_row+':'+'A'+endRow);
 
if (data.length>0){range.setValues(data);}
 
return;
 
}

Go to Tools & Settings and under the Bulk Actions > Scripts.

Click on the "+" sign to add a new script.

Copy the script from above to this editor.

Step 1.1. Create the Spreadsheet

To use the script, you will need a Google Spreadsheet. Just create an empty spreadsheet, and name it how you'd like it. I called my "Zombie SKU."

Important steps

On the A1 cell, enter: "Id"

After that, change the sheet's name from "Sheet1" to "Custom_Label."

The final step is to copy the link to the spreadsheet.

Make sure that you select the option:

Anyone with the link is set to Editor.

Step 1.2. Edit the script

Now that the spreadsheet is ready and you've got the link to it, it's time to edit the script itself.

Where it says, "Paste your Google Spreadsheet link here" paste the link there.

Edit the date range and criteria to your preference.

I chose " Last 30 days" and "Impressions < 10". This criterion will export all the product IDs from the last 30 days with less than 10 impressions.

The rest of the script should be unchanged. Now it's time to run a preview and test it. Click on the Preview.

Note: Google might ask for some permissions to run a script. You have to accept these to be able to use the script.

Check the Logs tab to see if any products are found for this criteria.

If you did everything well, you should have some product IDs in your spreadsheet. If that's the case, save the changes and add a schedule to the script so it runs daily.

This setup will automate the process and give a healthy rotation to your shopping feed.

Step 2. Create the supplemental feed

Since we have all the zombie product IDs in the spreadsheet is time to create the supplemental feed to start using these products.

Go to your Google Merchant Center Account. Then, under the Products tab, click on the Feeds and Add a supplemental feed.

Add a feed name you'd like, select Google Spreadsheet, then click on Continue.

Click on Select existing sheet, find and select the spreadsheet we created in the previous step.

Select your main product feed where you want to use the previously created supplemental feed, then click on Create feed.

Fetch the data from the newly added supplemental feed.

Step 2.1 Combine the supplemental feed with your main product feed.

After we have imported all the zombie SKUs from the sheet to the Google Merchant Center account, you can combine it with your main product feed.

Under the Products tab, select Feeds, then click on your main feed.

Click on Feed rules, then click on the blue "+" sign to add a new rule to the feed. Next, select one of your empty custom_labels.
 

After that, create the following ruling, see below:

With this rule, you say if the Id in the Zombie SKU sheet has a value, set the label to “No Impressions Last 30 Days” if the ID has no value in the sheet, set the label to “Recording Impressions.” If all is set, click on Save as draft.

Apply the changes to the feed.

Go to the Processing tab and click on the Re-process feed to have the new labels assigned to the products.

Test and see if you get the correct labels attached to your products.

Step 3. Create a new campaign

You've labeled all your zombie products, so it's time to wake them up.

The final step is to create a campaign and use this feed. The campaign aims to give a chance to the "sleeper SKUs."

When you create this campaign, use a lower ROAS target; the campaign won't have much volume, and its aim is not to generate much revenue. Instead, the focus here is to give a new chance to the products forgotten by the algorithm.

Performance Max or Regular Shopping campaign?

Now you probably have one final question.

Should you use this feed in a regular shopping campaign or run it instead through a Performance Max campaign?

Great question! It depends.

I would recommend running it as a regular shopping campaign and seeing how much volume it will generate. If it has a lot of traffic and a decent conversion volume, you can upgrade the campaign to PMax.
 

 
You can use this campaign with the Margin Buckets Performance Max structure.

Most of the time, these campaigns don't have a ton of traffic, so I would stick to regular shopping campaigns.

Conclusion

Google's shopping algorithm focuses on performance. So as soon as it finds your cash cow products in your feed, it will focus solely on those products neglecting the rest.

But we want to give a chance for every product. So with this guide, you will have a campaign that will kickstart your sleeper shopping SKUs and get them back into the rotation.

Have a good one,

Alfred

    868812
    6