Log in / Create free account🌐 ES☀️

Intermediate training · Module 10 — Scripts I — what they are, what they solve and how to install the Suite

Anatomy of the loader, the licence and the security: why the code never circulates

⏱️ 9 min read · 🥷 Scripts · updated on 2026-08-22

🎧 Listen to the lesson · ≈ 4 min🔒 Subscribers only

You paste 40 lines into Google Ads and the next day your spreadsheet has a dashboard. What happened in between, what permissions did you grant and what data left your account? This lesson opens up the mechanism so that you can trust it knowingly — and so that you know how to audit any script, ours or anybody else's.

The three pieces

Piece Where it lives What it does
Bootstrap In your Google Ads account (the bit you paste) Holds your token, your spreadsheet URL and the minimum configuration; calls the loader
Loader Inside the bootstrap Checks the licence, downloads the script's code from our server and runs it in your account
Script code On our server (ninjascripts.pro / the panel) The actual logic: reports, rules, spreadsheet, emails. It is downloaded on every run and never stored in your account

Why this way: the code is not exposed (it is the Suite's asset), you always run the latest version without reinstalling anything, and a bug is fixed on the server for every client at once.

What happens on each run

  1. Google launches your script at the scheduled time, as your user.
  2. The loader calls the panel with your licence token and the account ID: is this script active for this account?
  3. If it is, it downloads the code (obfuscated on the self-install scripts) and runs it in memory.
  4. The code reads the account, writes to your spreadsheet and sends emails if it is time to.
  5. When it finishes, it reports its usage (calls to external services) for your usage meter in the panel.

None of the code stays in your account; what Google stores is the bootstrap and the run logs.

The licence: what it checks and why it fails open

The panel answers "active", "suspended", or does not answer at all. The fail-open rule: if the panel does not answer (an outage, maintenance), the script runs anyway — watching over your account does not depend on our availability. Only an explicit "suspended" (failed payment, cancellation) stops it. On top of that, the loader checks that the account it is running in is one of the accounts on your licence: pasted into another account, it does not run.

Which data leaves your account and which does not

Leaves Does not leave
Your token and the account ID (for the licence) Your campaigns, search terms, conversions, customers: they are processed inside Google and written into your spreadsheet
Usage counters (number of calls) Your spreadsheet: it is yours, in your Drive; we do not read it unless you share it with us for support
Whatever you send to the AI if you switch on AI features (ad copy, search terms, no personal data) Leads' personal data: Lead Rating keeps it in your spreadsheet; all that goes to Google is the GCLID with its value
In the server-side engines: aggregated data needed for the calculation, with no personal identifiers Credentials: we never ask for passwords; everything runs as your user with Google's permissions

The permissions you authorise

All of it can be revoked from your Google account (Security → Your connections to third-party apps) or by deleting the script.

How to audit a script (any script)

  1. Read the bootstrap: what URL does it call? what does it send? An honest loader is short and readable.
  2. Preview and logs: what it reads, what it writes, where it calls.
  3. The account's change history filtered by the script: every change it makes is flagged.
  4. TEST mode (or the equivalent) for a few days: what it would have done.
  5. The spreadsheet: everything the script decides is written there, with a date.

If a third-party script does not let you do any of those five things, do not install it.

💡 Ninja trick: the technical detail that protects your account most is the one you cannot see: the Suite's scripts identify campaigns, ad groups and ads by their ID, never by name, and store the IDs of everything they touch in the spreadsheet. Rename whatever you like: nothing breaks and nothing gets applied to the wrong campaign.

What you should remember

📎 Sources and further reading

⚠️ Free training with no support. Ninja Scripts support channels (email and Telegram) are only for the use of the scripts, not for Google Ads questions or questions about this training.

Pick up here

← BeforeInstalling a Suite script step by step: from the panel to the first runScripts I — what they are, what they solve and how to install the SuiteAfter →Reading the scripts' spreadsheets: dashboards, traffic lights, checkboxes, history and the manualScripts I — what they are, what they solve and how to install the SuiteRelacionadaAI Max Analyzer in practice: install it, read the verdict and actAI Max — the black box of automatic Search expansionRelacionadaAnatomy of a GAQL query: clauses, operators, dates, micros and the rules that get you rejectedGAQL and the API — reading what the interface does not showRelacionadaAnomalies, currencies and safety: keeping the judge from doing harmSmart Bidding II — portfolios, cross-mode, the judge and anomaliesRelacionadaAPI versus scripts: where each automation should liveGAQL and the API — reading what the interface does not show

Ver el temario completo

🎓
You're reading, in the open, a lesson from the subscribers' training

This page is read-only. With the Suite subscription you get the full academy — all three levels with audio, quizzes, favorites, highlights and certificates — plus the scripts working in your Google Ads account.

See the full Suite → Create my free account →
🥷

Subscriber feature

This option is part of the Ninja Scripts Suite subscription.

See the subscription →