Developer Docs
Troubleshooting

Troubleshooting

Common issues and how to resolve them.


Conversions not appearing in dashboard

  1. Verify the SDK script tag is present in your page source
  2. Confirm the API key matches your project
  3. Check the browser console for errors
  4. Verify the conversion call is being made (e.g. Convultra.trackPurchase)
  5. Wait 1--2 minutes for data to appear
  6. Check that IP exclusions are not filtering your traffic

Conversions not forwarding to ad platforms

  1. Check that the integration is connected (green status indicator)
  2. Verify conversion action mapping is configured
  3. Confirm monitoring mode is OFF
  4. Check forward logs for error details
  5. 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:

  1. Active integrations -- at least one ad platform must be connected and forwarding conversions.
  2. Sufficient conversion volume -- a small number of conversions may not produce statistically significant recovery numbers.
  3. 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:

LevelCapabilities
Basic AccessRead-only operations, limited mutate operations
Standard AccessFull access including uploading offline conversions

Convultra requires Standard Access to upload conversions via the Google Ads API. If you see a "Basic Access" error:

  1. Log in to the Google Ads API Center (opens in a new tab).
  2. Apply for Standard Access.
  3. Google typically approves Standard Access within 1--3 business days.
  4. 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:

  1. Verify the GSC property -- Go to Settings -> Integrations -> Google Search Console and confirm the correct property is selected and verified.
  2. Check OAuth token -- If the OAuth token has expired, re-authenticate by clicking Reconnect on the GSC integration.
  3. 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.