Troubleshooting
Common issues and how to resolve them.
Conversions not appearing in dashboard
- Verify the SDK script tag is present in your page source
- Confirm the API key matches your project
- Check the browser console for errors
- Verify the conversion call is being made (e.g.
Convultra.trackPurchase) - Wait 1--2 minutes for data to appear
- Check that IP exclusions are not filtering your traffic
Conversions not forwarding to ad platforms
- Check that the integration is connected (green status indicator)
- Verify conversion action mapping is configured
- Confirm monitoring mode is OFF
- Check forward logs for error details
- Use the Test Center to send a test conversion
Recovery metrics are low or zero
Recovery metrics compare Convultra-tracked conversions against platform-reported conversions. For recovery metrics to be meaningful, you need:
- Active integrations -- at least one ad platform must be connected and forwarding conversions.
- Sufficient conversion volume -- a small number of conversions may not produce statistically significant recovery numbers.
- Time -- recovery metrics require at least a few days of data to stabilize.
Recovery = (Convultra-tracked conversions / platform-reported conversions). If you just connected an integration, allow 3--7 days for metrics to populate.
Google Ads shows "Basic Access" error
The Google Ads API has two access levels:
| Level | Capabilities |
|---|---|
| Basic Access | Read-only operations, limited mutate operations |
| Standard Access | Full access including uploading offline conversions |
Convultra requires Standard Access to upload conversions via the Google Ads API. If you see a "Basic Access" error:
- Log in to the Google Ads API Center (opens in a new tab).
- Apply for Standard Access.
- Google typically approves Standard Access within 1--3 business days.
- Once approved, reconnect the Google Ads integration in Convultra.
Basic Access is insufficient for production use. You must have Standard Access to forward conversions to Google Ads.
Google Search Console data is missing
Google Search Console (GSC) data has an inherent delay:
- 3-day delay is normal and expected. This is a GSC limitation, not a Convultra issue.
- Data for a given day typically becomes available 48--72 hours later.
If data is still missing after 3 days:
- Verify the GSC property -- Go to Settings -> Integrations -> Google Search Console and confirm the correct property is selected and verified.
- Check OAuth token -- If the OAuth token has expired, re-authenticate by clicking Reconnect on the GSC integration.
- Property verification -- Ensure the domain or URL-prefix property is verified in Google Search Console itself (not just in Convultra).
SDK not loading or blocked by ad blocker
If the SDK fails to load (usually because an ad blocker is blocking requests to cdn.convultra.com):
Solution 1: Use a custom domain proxy
Serve the SDK from your own domain using a Cloudflare Worker proxy. Ad blockers do not block first-party requests. See Custom Domains for setup instructions.
After setup, update your script tag:
<script async src="https://track.yourdomain.com/v1/ultra.js" data-convultra-key="YOUR_API_KEY"></script>Solution 2: Pixel tracking fallback
Add the <noscript> pixel to capture basic pageview data when the SDK cannot load:
<noscript>
<img
src="https://api.convultra.com/api/v1/pixel?key=YOUR_API_KEY"
alt=""
width="1"
height="1"
style="display:none"
/>
</noscript>See Pixel Tracking for details.
The custom domain proxy is the recommended solution. It provides full SDK functionality, not just pageview tracking.
Duplicate conversions appearing
If you see duplicate conversions in the dashboard or in ad platform reports:
1. Provide unique identifiers
Always include a unique business identifier in your conversion calls:
// 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 a unique identifier, the deduplication engine relies on fingerprint and time-window heuristics, which are less precise.
2. Check deduplication settings
Go to Settings -> Project Settings -> Deduplication and verify:
- Deduplication is enabled
- The dedup window is appropriate for your conversion type (default: 24 hours)
3. Check your implementation
Common causes of duplicate tracking calls:
- The conversion call fires on every page load instead of only on the confirmation/thank-you page
- A SPA (single-page app) re-fires the conversion call on route changes
- Multiple instances of the SDK are loaded on the same page
- The conversion call is inside a loop or event handler that fires multiple times
See Deduplication for more details on how deduplication works and how to configure it.