📗 This content is the Smart Bidding Ninja Script user manual, the same one the script writes in the «Manual» tab of its spreadsheet. Here you can search it, listen to it, highlight it and save it to favourites.
What are the "Optimisation from budget drift" suggestions?
They are extra suggestions the script generates when it projects that the month's spend is clearly off course compared with the monthly budget you set. If it is running above 100%, it suggests tightening the scenario on up to 3 campaigns (the ones that have spent the most and are on a lax scenario). If it is running below 90%, it suggests relaxing the scenario on up to 3 campaigns (the best performing ones). They appear in the Suggestions tab like all the others, but with the reason "Optimisation from budget drift" so you can tell them apart.
Why am I not getting budget drift suggestions?
Four possible reasons. One: you do not have the monthly budget switched on in Config (monthly budget = "Yes" with an amount). Without that the feature is disabled — the monthly email reminds you with a note at the bottom. Two: we are in the first 3 days of the month, when the projection is unreliable and the script waits. Three: the projection is inside the healthy range (between 90% and 100%) — there is nothing to suggest. Four: the eligible campaigns already have an earlier behaviour suggestion or have an active auto-rollback, and the system does not generate duplicates.
Why do budget suggestions go in the weekly email and not the monthly one?
Because they are urgent. Behaviour ones are based on patterns of 30+ days — they can wait until the first Monday of the month. Budget ones are calculated on the month in progress and every week that passes the drift gets more entrenched. Sending them on Mondays gives you real time to react before the month ends.
Why does a campaign not appear in Suggestions when I think it is on the wrong scenario?
Three possible reasons. One: it has spent fewer than 14 days under the current scenario (a recent scenario change restarts the analysis). Two: the pattern is not as clear as it looks — we need 70% of the informative runs to follow the pattern, and "informative runs" are only those that produced an actual increase or decrease, not the ones that fell into the dead zone through a low deviation or through locks. Three: the campaign has an active auto-rollback and is excluded temporarily.
What is the difference between a HIGH and a MEDIUM suggestion?
HIGH: based on 30+ days and plenty of samples, statistically solid. It is sent in the monthly email as well as appearing in the tab. MEDIUM: based on 14+ days but with fewer samples. It only appears in the tab, not in the email, because we would rather not flood your inbox with less conclusive signals. If a MEDIUM one holds over time, it will escalate to HIGH automatically once it builds up enough samples.
What happens when I tick the "Apply" checkbox?
On the script's next run (at most 1 hour with an hourly trigger, or the next nightly one), the script will remove that campaign's current scenario label in Google Ads and apply the suggested label. The change is immediate and the campaign will start behaving according to the new scenario. On top of that, intra-day mode will detect the label change and recalculate the target within the next hour.
I ticked a checkbox but I regret it. Can I cancel?
Yes. As long as the script has not processed the suggestion (the status is still PENDING), you can untick the checkbox and it will not be applied. If it is already in APPLIED status the change has been made — you would have to revert it manually in Google Ads by changing the label back to the previous scenario.
Do applied suggestions disappear?
Not straight away. They are kept in the tab for 30 days with APPLIED status and a grey colour so you can review the history of changes you have made. After 30 days they are purged automatically.
Why has my campaign not had a rollback even though the ROAS dropped quite a lot?
Three possible reasons. One: the campaign had NOT had a big manual change — auto-rollback v42.2 only watches changes of ≥20% made by you, not the script's small adjustments. If the ROAS fell after a routine adjustment by the script, the script itself will offset it the next day. Two: the campaign DID have a manual change but it is still inside the observation window (14 days) and the drop has not passed the day 7 threshold (30%) yet. Three: the ROAS drop did not pass the final threshold: a fixed 15% if the campaign has fewer than 30 days of history, or the statistical 2σ threshold if it has more. If your campaign is volatile by nature, the statistical threshold can be high because its natural variability is high.
Does auto-rollback affect Shopping or Display?
Yes, as long as the script has raised the budget of those campaigns. Auto-rollback works on the budget, not on the target, so it is compatible with every campaign type where SBNS can manage the budget. On campaigns where SBNS does not touch the budget (.presupuesto off active), there will be no rollback either because there are no increases to watch.
A brand new campaign keeps getting rollbacks, what do I do?
This is the most common case. With no history, the threshold is a fixed 30% and young campaigns have a lot of natural volatility while Google learns. Three options: (1) be patient — after 30 days of data the statistical threshold will switch on and the false rollbacks will drop sharply; (2) move it to the .lanzamiento scenario, which applies gentler adjustments and produces fewer increases vulnerable to a rollback; (3) give it .presupuesto off temporarily while it settles down and manage it by hand for the first 14-21 days.
Can I turn auto-rollback off if I do not like it?
Today auto-rollback applies by default to every managed campaign. If you get rollbacks you think are wrong, the best route is to report it so the thresholds can be calibrated better in future versions. As a last resort you can always undo a rollback yourself by setting the budget manually again in Google Ads — the script will respect your change and will not touch it again until the next nightly cycle, where the normal logic will decide whether anything needs doing.
Why do some campaigns appear in Day-Stats with empty columns?
Google Ads does not allow certain parameters to be changed depending on the campaign type. For example, in Shopping and in Display with pure TARGET_ROAS, the targets cannot be changed via Scripts. The script records this by leaving the affected columns empty but it still adjusts the budget where it can.
Does the script work with Performance Max?
Yes. PMax has its own selector in the API and SBNS handles it automatically. It only needs the .SBNS label.
Does the script work with Demand Gen?
Not at the moment. Google has not enabled the Demand Gen selector in Scripts. If you label a Demand Gen campaign with .SBNS, it will simply be ignored. When Google releases support, it will be added in a future version.
What happens if my campaign has two scenario labels at once?
The script reads the first one it finds. It is not deterministic. Never put more than one scenario label at a time on the same campaign.
Can I use SBNS on an account with a mix of CPA and ROAS?
Yes. The script detects each campaign's strategy automatically and applies the matching logic. You do not have to configure anything special.
Does the script change the bid target on campaigns with a "pure" Maximize Conversions strategy (without a CPA)?
No, because there is no target to adjust. It only adjusts the budget.
The script says there is a "deviation" but it has made no change. Why?
There can be several reasons: the deviation is below the scenario's threshold, the 7-day cost is below the threshold you set, the monthly budget has been exceeded, or the campaign has .presupuesto off. The Reason column in Day-Stats will tell you why.
How long should I wait before seeing results?
The adjustments are incremental. The first effects show after 5-7 days, but the improved performance settles in over 3-4 weeks. Be patient and resist reconfiguring at the first sign of trouble.
Can I run the script more than once a day?
Yes, although it adds little. The script uses data from the range set in Config (usually 30 days), which does not change significantly between runs on the same day. The email is only sent once a day (duplicate protection).
What happens if I change a campaign's scenario mid-month?
The next run cycle will apply the new scenario. Previous changes are not reverted — from that moment on the new philosophy simply applies.
Does the script send emails if there has been no activity?
Yes. The weekly and monthly emails are sent on their scheduled dates regardless of whether there were any adjustments. If there was no activity, the email will simply say so.
Can I switch the script off temporarily without removing the labels?
The cleanest way is to set TEST mode to "ON": the script will keep running and recording data but will apply no changes. You can also apply .presupuesto off to the campaigns you want to freeze individually.