Skip to main content

Troubleshooting

Scenario-based fixes for the most common publisher incidents.


Quick diagnosis​

What's the symptom?​

IssueGo to
Ads not showing at allAds not showing
Wrapper not loading / library failsWrapper not loading
Low revenue (isolate the layer)Low revenue
A bidder is underperformingBidder health
One slot under-earnsSlot audit
GAM won't sync, or a slot won't serveGAM sync and mapping

If your incident isn't covered above (for example a fill-rate cliff or a CWV regression), 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 — "Why aren't ads showing?", "Help me fix low fill rate", "Check my wrapper installation." See the AI Assistant guide.


General triage​

Step 1: Identify the scope​

QuestionWhy 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:

SignalMeaning
No red errors at allWrapper 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 undefinedPrebid failed to load
inventory defined for different domain with hash '…', no ads will be servedCached 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:

RequestExpected
cdn.jsdelivr.net/npm/@<org>/<domain-id>@<version>/dist/wrapp-<domain-id>.js200 — wrapper library
<env-domain>/api/portal/v1/configs/<domain-id>/200 — wrapper config
Bid requests to enabled biddersGoing out
Bid responsesReturning with bids

Common issues by category​

Setup issues​

IssueQuick check
Tag not installedView page source — inline <script> with your domain ID present?
Wrong domain selectedCheck the domain selector at the top of the main sidebar
GAM not connectedAccount → Setup → GAM — Connection Status green?
No layoutsInventory → Layouts — layouts defined with matching page paths?

Configuration issues​

IssueQuick check
Slots missing from layoutOpen the layout — confirm slots are in its slot list
Layout not matchingConfirm URL page-path pattern
Bidders disabledDemand → Prebid — bidders enabled?
Floors too highSlot / layout / wrapper floors — lower to test

Performance issues​

IssueQuick check
Slow page loadWrapper Auction Timeout, number of slots, lazy loading
Layout shiftReserved space on ad containers
High bounceAd 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)

Next steps​