Ads Not Showing (Troubleshooting Checklist)
Troubleshoot Zerocost ad placements when nothing renders or impressions are not tracked. Covers DOM mounting, SDK init, network calls, and blockers.
Written By Harshil S
Last updated About 2 months ago
If your ad placement is blank, the cause is usually one of: missing mount point, SDK init not running, configuration not found, or blocked network calls. Use this checklist in order.
Confirm SDK initialization ran
The SDK should be initialized once at startup:
Ensure
await zc.init()is executed.Ensure the file that initializes the SDK is imported by your entry point.
If you are using a SPA framework, confirm the init code is not gated behind a route that never loads.
Confirm placement configuration is available
Open DevTools Network and look for calls to configuration/serving endpoints such as:
get-placementsserve-widgetorserve-adtrack-event
If get-placements fails, check:
appIdandapiKeyvaluesBase URL (staging vs production)
Check CORS and browser extension blockers
Common symptoms:
Requests show as blocked or canceled
Console shows CORS errors
Ad blockers prevent scripts from loading
Quick isolation test:
Test in a clean Chrome profile or a private window with extensions disabled.
Confirm placement status and rules
In the Startup dashboard, verify the placement is:
Active / Enabled
Configured for a compatible format (display/video/native)
Not filtered by viewability or floor rules so strict that nothing can serve
Confirm tracking is wired
If ads render but analytics stay at zero:
Confirm
track-eventcalls are not failing.Confirm click handlers are not being swallowed by your UI layers.
If you still cannot resolve it
Collect:
Page URL and placement id
The failing request(s) and status codes
Console errors and a screenshot of the mount element
This reduces debugging time significantly.
Feel free to contact us anytime.