Troubleshooting
Scenario-based fixes for the most common publisher incidents.
Quick diagnosis
What's the symptom?
| Issue | Go to |
|---|---|
| Ads not showing at all | Ads not showing |
| Wrapper not loading / library fails | Wrapper not loading |
| Low revenue | Low revenue |
Additional scenario runbooks (revenue drop after deploy, partner bidding gap, GAM sync issues, fill-rate cliff, CWV regression) are being written. If you hit one of these before its runbook is published, the AI Assistant's live diagnostics or support@animaadtech.com can help.
Using the AI Assistant for troubleshooting
The Assistant can walk you through live diagnosis:
| You ask | What happens |
|---|---|
| "Why aren't ads showing?" | Guided diagnosis |
| "My revenue dropped today" | Analysis across supply and demand |
| "I'm getting console errors" | Error interpretation |
| "Help me fix low fill rate" | Step-by-step triage |
| "Check my wrapper installation" | Installation verification walkthrough |
General triage
Step 1: Identify the scope
| Question | Why it matters |
|---|---|
| All pages or some? | Targeting vs. global issue |
| All devices or one? | Device-specific problem |
| Started when? | Helps identify cause (recent deploy, bidder change, traffic spike) |
| All users or some? | Experiment or caching issue |
Step 2: Check the basics
- Wrapper tag is still in the page's
<head>(view page source) - Recent wrapper release deployed?
- Right domain selected in the sidebar?
- Browser cache cleared (incognito window works)?
Step 3: Check the browser console
Open DevTools → Console on a page that has the tag installed. Look for:
| Signal | Meaning |
|---|---|
| No red errors at all | Wrapper healthy; problem is further downstream |
Wrapper bootstrap failed: … | Config shape error or inventory resolution error |
googletag (google publisher tag) did not load properly… | GPT failed to load |
Prebid did not load properly: setTargetingForGPTAsync is undefined | Prebid failed to load |
inventory defined for different domain with ID '…' | Cached config from a different domain — clear localStorage |
[wrapperTag] Command queue error: … | A queued command threw |
[wrapp] Hook listener error for '<hook>': … | A hook listener threw |
Append ?pbjs_debug=true to the URL and reload to see additional AAM-prefixed debug logs. See Wrapper Debugging for the full signal list.
Step 4: Check Network
DevTools → Network, reload. Look for:
| Request | Expected |
|---|---|
cdn.jsdelivr.net/npm/@<org>/<domain-id>@<version>/dist/wrapp-<domain-id>.js | 200 — wrapper library |
<env-domain>/api/portal/v1/configs/<domain-id>/ | 200 — wrapper config |
| Bid requests to enabled bidders | Going out |
| Bid responses | Returning with bids |
Common issues by category
Setup issues
| Issue | Quick check |
|---|---|
| Tag not installed | View page source — inline <script> with your domain ID present? |
| Wrong domain selected | Check the domain selector at the top of the main sidebar |
| GAM not connected | Account → Setup → GAM — Connection Status green? |
| No layouts | Inventory → Layouts — layouts defined with matching page paths? |
Configuration issues
| Issue | Quick check |
|---|---|
| Slots missing from layout | Open the layout — confirm slots are in its slot list |
| Layout not matching | Confirm URL page-path pattern |
| Bidders disabled | Demand → Prebid — bidders enabled? |
| Floors too high | Slot / layout / wrapper floors — lower to test |
Performance issues
| Issue | Quick check |
|---|---|
| Slow page load | Wrapper bid timeout, number of slots, lazy loading |
| Layout shift | Reserved space on ad containers |
| High bounce | Ad density |
When to ask for help
Self-service first
Most issues can be resolved via:
- These docs (the runbook pages above)
- The AI Assistant's live diagnostics
- Inspecting console and network in DevTools
Contact support for
- Account access issues
- Billing questions
- Bidder account setup (when the bidder side is the blocker)
- Feature requests
- Bug reports you've narrowed down
Support: support@animaadtech.com
Diagnostic tools
Browser console probes
// Wrapper library loaded?
typeof window.Wrapp // 'object' if loaded
// Loader telemetry
window.__wrapp_loader // { library_load_ms, config_fetch_ms, config_source, loader_start }
// Wrapper public API
window.wrapperTag?.appVersion
window.wrapperTag?.appBuildDate
window.wrapperTag?.config
window.wrapperTag?.inventoryConfig
// Prebid state
pbjs.getBidResponses()
pbjs.getAllWinningBids()
window.anima does not exist — ignore any older doc or Slack tip that references it.
See Wrapper Debugging for the complete list of signals.
Debug query parameter
Append ?pbjs_debug=true to any URL on your site to enable wrapper debug logging. Logs appear with an AAM prefix.
Release preview
To test configuration before deploying to everyone:
- Use Wrapper → Experiments to roll out changes to a percentage of traffic first
- To return to a previous known-good state, copy the last good deployed release into a new draft and deploy the copy — see Rolling back (there's no one-click rollback button)