Big Crunch

Search Documentation

Search across all documentation pages

Page Controls

Big Crunch exposes a small set of per-page methods on BCLighthouseTag for cases where a single page needs to behave differently from the rest of the property — turning off Google Ad Manager on isolated pages, suppressing all ads on legal or error pages, and similar. Call them from your page template via the BCLighthouseTag.cmd queue so they run before the auction starts, whether the install snippet has loaded yet or not.

Disable Google Ad Manager

Most properties run Google Ad Manager on every page, but some pages — sensitive content, sponsored takeovers, paywalled previews, isolated landing pages — need GAM turned off. BCLighthouseTag.disableGoogleAdManager() is a per-page kill switch that runs in your page template.

When you call it before the auction starts, Big Crunch:

  • skips loading gpt.js and the GAM preconnect for that pageview,
  • removes Amazon Publisher Services from the auction (APS only makes sense paired with an ad server), and
  • still serves any non-GAM demand the property has configured (e.g. the Big Crunch ad server).

The decision is made per-pageview from your page template, so it stays in sync with whatever flag your CMS already exposes — no separate Big Crunch config to keep aligned.

Basic usage

Push the call into BCLighthouseTag.cmd so it runs as soon as the bundle is ready, regardless of whether your <script> runs before or after the install snippet:

<script>
  window.BCLighthouseTag = window.BCLighthouseTag || { cmd: [] };
  window.BCLighthouseTag.cmd.push(function () {
    BCLighthouseTag.disableGoogleAdManager();
  });
</script>

Place this above the install snippet so it queues before the Big Crunch bundle evaluates. The bundle drains the queue before it kicks off the auction, so GAM is suppressed for the very first request.

Conditional disable from a page-level flag

The common pattern is to read a flag your CMS already sets on isolated pages and only call disableGoogleAdManager() when the flag says so:

<script>
  // Set by the CMS template — `"no"` means this page is isolated
  // and should not load Google Ad Manager.
  if (window.site_settings.adx === "no") {
    window.BCLighthouseTag = window.BCLighthouseTag || { cmd: [] };
    window.BCLighthouseTag.cmd.push(function () {
      BCLighthouseTag.disableGoogleAdManager();
    });
  }
</script>

The flag name (site_settings.adx) is up to you — read it from whatever your CMS exposes (a global, a data- attribute, a meta tag, etc.).

Disable all ads on the page

If you want to suppress every demand source on a page — GAM, Prebid, and APS together — call disableAds() instead. It's the same pattern but covers the full auction:

<script>
  window.BCLighthouseTag = window.BCLighthouseTag || { cmd: [] };
  window.BCLighthouseTag.cmd.push(function () {
    BCLighthouseTag.disableAds();
  });
</script>

Use disableAds() for pages that should serve no ads at all (e.g. legal pages, error pages). Use disableGoogleAdManager() when you want to keep the rest of the auction running but specifically suppress GAM.

Verifying

On a page where you expect GAM to be disabled, open DevTools and confirm:

  • The Network tab shows no request to securepubads.g.doubleclick.net/tag/js/gpt.js.
  • The <head> contains no <link rel="preconnect" href="https://securepubads.g.doubleclick.net"> injected by the bundle.
  • BCLighthouseTag is still initialized — the bundle continues to run analytics and any non-GAM demand.