Network Inspector Guide
Check what your application sends to NotPixel before launching your integration. The current TypeScript and Python SDKs send an embedding vector instead of prompt text for ad matching.
Inspect an ad request
For a browser integration:
- Open your browser’s developer tools and select Network.
- Filter requests by
pickornotpixel. - Trigger an ad request in your application.
- Select the request to
/api/v1/pickand inspect its request body.
For a backend integration, inspect the backend’s outgoing requests. Browser tools only show traffic made by the browser.
Expected fields
| Field | What to check |
|---|---|
publisherId | Your publisher ID |
embedding | Local mode: an array of 384 numbers; absent remotely |
input | Remote mode: sanitized context; absent locally |
context | Only the optional fields you intended to send |
Tracking calls can include optional metadata supplied by your application. Keep personal data out of both context and metadata. Embeddings convey semantic information and should still be treated as potentially sensitive data.
Troubleshoot unexpected text
An input field is expected when remote processing is explicitly selected.
If you expected a vector, check the configured embeddingMode (Python:
embedding_mode) and the generated initialization file.
The current SDKs do not switch to sending text when a local model fails. They return no ad. Use model preloading to detect loading errors before handling user requests:
await ads.embedding.preload();ads.embedding.preload()See Privacy for configuration and error handling, or the HTTP API reference if you construct requests yourself.
Check LLM calls separately
Your application’s LLM calls have their own payloads and data handling rules. Inspect those separately; the SDK’s local embedding behavior applies to NotPixel ad matching.