Pausing products when they reach a certain amount of clicks

108 views
Skip to first unread message

Leo Urumovski

unread,
Feb 22, 2023, 3:11:44 AM2/22/23
to Google Ads Scripts Forum
Hello!

As a novice on the subject, and having a hard time finding the answer, I thought why not asking my question here.

Dilemma:
Lets say I have tROAS set as my bidding strategy, but I'm still heavily focused on showing the whole wide assortment and I want to make sure that every products (obv. not every singe one, but the majority) gets exposure, clicks and a chance to convert.

Is there any way to build a script that says something like this:

After 50 clicks -> pause the products for the next 24hrs.
After paused 24hrs -> activate the product again.


Is this possible and if so, to what extent

Sigurd Fabrin

unread,
Feb 22, 2023, 4:36:08 AM2/22/23
to Google Ads Scripts Forum
I would rather go with two or more campaigns that show a different set of products based on performance. Set high manual cpc or lower target roas on the products that haven't received any clicks to favour these.
Btw: I'd consider using impressions instead of clicks as a product can have few clicks because it is too expensive or have an ugly image i.e. it is not necessarily Google's fault ;)

Set campaign1 up to only show products when custom_label_0 contains some text and give this a more generous bid. Set campaign2 up to show the rest of the products with more strict bidding.

You can build a product level report with a script and send it to a Google sheet and use that sheet as a supplemental feed in you merchant center to add the label value to the correct ptoducts

Smth like this approach:
  let ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/etc');
  let sheet = ss.getSheetByName('Sheet1');
  let query =
      `SELECT
        segments.product_item_id
       FROM
        shopping_performance_view
       WHERE
        metrics.clicks <= 50
       AND
        segments.date DURING LAST_7_DAYS`;
    let response = AdsApp.search(query);
    let data = [];
    while (response.hasNext()) {
      let row = response.next();
      data.push([row.segments.productItemId,'less than 50 clicks'])
    }
    data.unshift(['id','custom_label_0']); // headlines
    sheet.getDataRange().clearContent(); // delete old data first
    sheet.getRange(1,1,data.length,data[0].length).setValues(data);



Sigurd

Leo Urumovski

unread,
Feb 22, 2023, 8:11:56 AM2/22/23
to Google Ads Scripts Forum
Thank you Sigurd!
Reply all
Reply to author
Forward
0 new messages