Skip to main content

Your First Day

Get the foundation in place: connect Google Ad Manager, install your wrapper tag, and verify it loads.

Time estimate

About 2 hours, depending on your GAM access and how your site is deployed.


Overview

StepWhatWhy
1Connect Google Ad ManagerLinks GAM so Anima can sync ad units, sizes, and key-values
2Install the wrapper tagEnables header bidding on your site
3Verify installationConfirm the library loads and bootstraps

Before you start, confirm your domain has been added to your account. If you don't see it in the domain selector at the top of the main sidebar, it hasn't been provisioned yet — see Before Day 1 or contact your onboarding specialist.


Step 1: Connect Google Ad Manager

What you'll need

  • Admin access to Google Ad Manager (so you can authorize the service account)
  • Your GAM Network ID

Instructions

  1. Switch to Account mode. Click Account at the bottom of the main sidebar.
  2. Select the right scope. In the account selector at the top of the sidebar, pick the domain (or the customer, if you want the connection to apply to multiple domains).
  3. Go to Setup → GAM. Share the displayed service account email with your GAM admin, or add it yourself:
    • In GAM: Admin → Access & authorization → API access, ensure API access is enabled.
    • In GAM: Admin → Access & authorization → Users, add the service account email shown on the Anima Setup → GAM page with at least a Trafficker or Administrator role.
  4. Wait for verification. Anima's sync DAG runs against your network and updates the Connection Status for the linked network — you'll see Not yet verified until the first sync completes, then a green success badge with a last-verified timestamp (or a red failure badge).

Success checkpoint

On Setup → GAM, under the linked network:

  • ✅ Connection Status shows a green Successful badge with a recent timestamp
  • ✅ Ad units and sizes from GAM are available for import in Inventory → GAM
Verification failed?

The most common causes:

  • Service account missing from GAM users — add it under Admin → Users
  • Network ID mismatch — confirm the Network ID shown on Setup → GAM matches the one in GAM under Admin → Global Settings
  • API access disabled — re-enable under Admin → API access

For more, see Troubleshooting.


Step 2: Install the wrapper tag

The wrapper is a small inline JavaScript block that loads the header-bidding library and initializes an auction on each ad slot.

Get your tag

  1. In Account mode, select the domain in the account selector.
  2. Go to Setup → Wrapper.
  3. Click Copy Tag.

The tag is an inline <script> block — not a hosted <script src="…"> — that loads the wrapper library from the jsDelivr CDN and fetches your config from the Portal API. For architecture details see Wrapper Debugging.

Install the tag

Paste the tag into the <head> of your site, as high up as possible (before other ad or analytics scripts).

CMS cheat sheet

CMSWhere to add
WordPressheader.php or any header-scripts plugin
WebflowProject Settings → Custom Code → Head Code
SquarespaceSettings → Advanced → Code Injection → Header
Shopifytheme.liquid, right after <head>

For Next.js / Gatsby / static HTML and a fuller walkthrough, see Installing the tag.

Placement matters

The wrapper needs to initialize before ad slots render. Placing the tag early in <head> lets the library load and config fetch happen in parallel with the rest of the page.

Deploy

Push the change through your normal deploy process and purge any full-page / CDN cache.


Step 3: Verify installation

There is no "verified" indicator in the portal — the portal can't ping your origin. Verify from your own browser.

Quick check (Console)

Open your site, then DevTools → Console and run:

typeof window.Wrapp // 'object' after the library has loaded
window.__wrapp_loader // { library_load_ms, config_fetch_ms, config_source, loader_start }
window.wrapperTag?.appVersion // version string after bootstrap resolves

Healthy outputs:

  • typeof window.Wrapp returns 'object'
  • window.__wrapp_loader.config_source is 'network'
  • window.wrapperTag.appVersion is a version string

Network check

DevTools → Network, reload, filter by jsdelivr or your domain ID. You should see three 200s:

  1. data.jsdelivr.com/v1/package/npm/@<org>/<domain-id> — library version lookup
  2. cdn.jsdelivr.net/npm/@<org>/<domain-id>@<version>/dist/wrapp-<domain-id>.js — the library
  3. <env-domain>/api/portal/v1/configs/<domain-id>/ — the config

Debug-log check

Append ?pbjs_debug=true to your URL and reload. Filter Console for AAM. You should see a navy-badged line like:

AAM Processing <N> ad slots on page
AAM app info <version / build info>

If no AAM lines appear even with the debug flag, the library did not bootstrap. Scan Console for any Wrapper bootstrap failed: or did not load properly errors.

Nothing in Console at all?

Console is silent by design until ?pbjs_debug=true is added. If you don't set the flag, you'll see only errors — which is still useful: no red text means no fatal problems.

For the full signal list (globals, query params, error prefixes), see Wrapper Debugging.


Day 1 checklist

Before moving on, confirm:

  • Setup → GAM: Connection Status shows a green Successful badge
  • Ad units and sizes visible in Inventory → GAM
  • Wrapper tag pasted into your site's <head> and deployed
  • typeof window.Wrapp === 'object' in the browser
  • window.__wrapp_loader.config_source === 'network'
  • With ?pbjs_debug=true, AAM Processing <N> ad slots on page appears in Console
  • No Wrapper bootstrap failed: or did not load properly errors

What's next

Your foundation is in place. Tomorrow you'll build inventory and connect demand.

Next: Your First Week →

Create ad slots, build layouts, and configure demand bidders.


Day 1 FAQ

Can I test without going to production?

Yes — install the tag on a staging site. The tag works on any host as long as the page can reach jsDelivr and the Portal API. If you have separate staging and production domain IDs, copy each one's tag from its own Setup → Wrapper page.

How long does the GAM sync take?

The initial sync runs as soon as the service account is authorized; most accounts complete in a few minutes. Larger accounts (thousands of ad units) can take longer. You can start installing the wrapper tag while the sync runs.

Do I need to change my existing ads?

Not on Day 1. Installing the tag doesn't affect existing GPT slots on your page — it just loads the library and makes auctions possible. Ads will only start flowing through Anima once you've built inventory, mapped it to GAM, and shipped a release (see Day 2 / First Week).