Your First Day
Get the foundation in place: connect Google Ad Manager, install your wrapper tag, and verify it loads.
About 2 hours, depending on your GAM access and how your site is deployed.
Overview
| Step | What | Why |
|---|---|---|
| 1 | Connect Google Ad Manager | Links GAM so Anima can sync ad units, sizes, and key-values |
| 2 | Install the wrapper tag | Enables header bidding on your site |
| 3 | Verify installation | Confirm 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
- Switch to Account mode. Click Account at the bottom of the main sidebar.
- 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).
- 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.
- 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 verifieduntil 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
Successfulbadge with a recent timestamp - ✅ Ad units and sizes from GAM are available for import in Inventory → GAM
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
- In Account mode, select the domain in the account selector.
- Go to Setup → Wrapper.
- 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
| CMS | Where to add |
|---|---|
| WordPress | header.php or any header-scripts plugin |
| Webflow | Project Settings → Custom Code → Head Code |
| Squarespace | Settings → Advanced → Code Injection → Header |
| Shopify | theme.liquid, right after <head> |
For Next.js / Gatsby / static HTML and a fuller walkthrough, see Installing the tag.
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.Wrappreturns'object'window.__wrapp_loader.config_sourceis'network'window.wrapperTag.appVersionis a version string
Network check
DevTools → Network, reload, filter by jsdelivr or your domain ID. You should see three 200s:
data.jsdelivr.com/v1/package/npm/@<org>/<domain-id>— library version lookupcdn.jsdelivr.net/npm/@<org>/<domain-id>@<version>/dist/wrapp-<domain-id>.js— the library<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.
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
Successfulbadge - 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 pageappears in Console - No
Wrapper bootstrap failed:ordid not load properlyerrors
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).