Troubleshooting
Checklists for conversions missing from the dashboard, conversions not forwarding, low recovery, Google Ads access errors, blocked scripts and duplicates.
On this page · 8 sections
The common problems and how to resolve them. Each section starts with a checklist; the detail follows.
Conversions not appearing in the dashboard
Checklist
- Confirm the script tag is in your page source.
- Confirm the project key matches your project.
- Check the browser console for errors.
- Confirm the conversion call is actually made (for example
Convultra.trackPurchase). - Wait a minute or two for data to appear.
- Check that IP exclusions are not filtering your traffic.
Verify the script tag. View the page source (Ctrl+U or Cmd+U) and search for convultra. You should see the stub and the async loader:
<script>window.Convultra=window.Convultra||...</script>
<script async src="https://cdn.convultra.com/ultra.min.js" data-convultra-key="proj_..."></script>
Check the key. data-convultra-key must match the project key under Settings → Tracking → Install.
Check the console. Open developer tools (F12) and look at the Console tab. Common messages:
Invalid API key: the key does not match any projectNetwork errororFailed to fetch: the tracking endpoint (tracking.convultra.com, or your custom domain) is unreachable (firewall, CSP or ad blocker)Convultra is not defined: the stub is missing or loads after the conversion call
Verify the call. In the Network tab, filter for convultra or track. A POST to https://tracking.convultra.com/v1/track (or /v1/track on your custom domain) should appear when the conversion fires. If not, the method is not being called. The Tracking health page shows events as they arrive, which is a quicker check.
Allow for the delay. Conversions usually appear within a minute or two.
IP exclusions. Events from an excluded IP are dropped silently. Check Settings → Tracking → Excluded IPs. See IP exclusions.
Conversions not forwarding to ad platforms
Checklist
- The integration card says Connected or Healthy.
- A conversion action is mapped.
- Monitoring mode is off.
- The Conversion delivery page shows no failures.
- A test conversion succeeds.
Integration status. Go to Integrations. Connected and Healthy mean the connection is working. Paused, Script missing, Stale and Unavailable each say what needs attention; reconnect by signing in to the platform again if the card asks for it.
Conversion mapping. Each event type (purchase, lead, signup and so on) must be mapped to a conversion action. Open the platform’s card on Integrations and check the Conversion action step.
Monitoring mode. When it is on, conversions are recorded but not forwarded. The banner at the top of Settings says which it is. See Monitoring mode.
Conversion delivery. Open Conversion delivery in the sidebar and filter to Failed only. Each failed attempt carries a plain-English reason. Typical ones:
- an authentication problem: reconnect the integration
- an invalid conversion action: check the mapping
- a rate limit: temporary, Convultra retries automatically
- a duplicate: the platform already has this conversion, which is expected behavior
Test conversion. Click Send a test conversion on the platform’s card to open the Conversion Test Center and send one through the full pipeline to confirm end-to-end delivery.
Which platforms forward today. Google Ads and OpenAI Ads forwarding are live. Meta, Microsoft Ads and TikTok forwarding are coming soon; a connected Microsoft Ads account syncs spend but does not yet send conversions. For the Google-specific walkthrough see My conversions are not appearing in Google Ads.
Recovery metrics are low or zero
Recovery compares Convultra’s conversions with what the platform’s own pixel would have caught. For it to mean anything you need:
- An active integration forwarding conversions to at least one platform.
- Enough volume. A handful of conversions does not produce a stable rate.
- Time. Allow 3 to 7 days after connecting for the figures to settle.
Recovery is measured against attributed conversions (those with a click ID), not every conversion. See Recovery tracking.
Google Ads shows a Basic Access error
The Google Ads API has two access levels:
| Level | Capabilities |
|---|---|
| Basic Access | Read-only operations and limited writes |
| Standard Access | Full access, including uploading conversions |
Convultra needs Standard Access to upload conversions. If you see a Basic Access error:
- Sign in to the Google Ads API Center.
- Apply for Standard Access.
- Google typically approves within 1 to 3 business days.
- Reconnect the Google Ads integration in Convultra.
Google Search Console data is missing
Search Console data arrives about 3 days late. That is a Google limit. If data is still missing after 3 days:
- Check the property. Under Integrations → Google Search Console, confirm the right property is selected and verified.
- Check the token. If it expired, click Reconnect.
- Check verification. The property must be verified in Search Console itself, not only selected in Convultra.
The script does not load or is blocked
If the SDK fails to load, usually because an ad blocker blocks cdn.convultra.com, serve it from your own subdomain instead. Blockers do not block first-party requests, and you keep full SDK functionality. Add the domain under Settings → Tracking → Custom tracking domains, add the one CNAME record it shows you, and once the domain is Active update the tag:
<script async src="https://track.yourdomain.com/v1/ultra.js" data-convultra-key="YOUR_API_KEY"></script>
See Custom tracking domains and the step-by-step in How do I point a subdomain at Convultra?
Duplicate conversions appearing
1. Provide unique identifiers. Always include a business identifier:
// Purchases -- use orderId
Convultra.trackPurchase({
orderId: 'order_abc123', // must be unique per order
value: 99.99,
currency: 'USD'
})
// Leads -- use leadId
Convultra.trackLead({
leadId: 'lead_xyz789', // must be unique per lead
value: 25.00
})
Without one, deduplication falls back to fingerprint and time-window heuristics, which are less precise.
2. Check deduplication windows. Under Settings → Tracking → Deduplication, check the four windows: Conversion ID (24 hours by default), Click ID (60 minutes), Event ID (5 minutes) and Fingerprint (5 minutes). A double-fired tag that repeats after more than 5 minutes needs a longer Event ID window.
3. Check the implementation. Common causes:
- the call fires on every page load rather than only on the confirmation page
- a single-page app re-fires on route changes
- two copies of the SDK on the same page
- the call sits in a loop or a handler that runs more than once
See Deduplication. If the duplicates are in Meta rather than Convultra, see Meta is showing more purchases than my store.
Still stuck?
Email support@convultra.com with your project domain, the conversion’s timestamp, and, if you use the API, the X-Request-Id from the response.