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-placements

  • serve-widget or serve-ad

  • track-event

If get-placements fails, check:

  • appId and apiKey values

  • Base 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-event calls 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.