This page walks through the most common reasons conversion data is missing or wrong. For the underlying mechanics, see How attribution works.
Missing clicks
A click happened (you can see it in your server logs) but it doesn’t appear in the RevRoute dashboard.
Checklist
- Was the click on a short link you own? Direct visits to the destination URL are not tracked. Only requests that go through
revroute.ru/<key>or your branded short domain are counted. - Is the short link archived or disabled? Archived links still redirect but don’t increment click counters. Check
Links → filter Archived. - Was the click made by a bot? Datacenter IPs and known bot user-agents are recorded but excluded from credited clicks. Open the Events tab, search for the timestamp, and look at the
botflag. - Are you looking at the right date range? The dashboard defaults to the last 7 days. Switch to “All time” or the specific date.
Verify with curl
curl -I https://revroute.ru/your-keyA healthy redirect returns 302 with a location: header pointing at your destination. If you get 404, the key doesn’t exist. 410 Gone means the link is archived.
Missing leads
The user signed up but no lead event appears.
Checklist
- Was the
dub_idcookie present? The lead event needs aclickIdor a customer with a prior click. Open DevTools → Application → Cookies and confirmdub_idis set. - Are you tracking server-side or client-side? Server-side
/track/leadneeds aclickId; client-side/track/lead/clientreads the cookie. Mixing them in the wrong order will silently fail. - Is
customerExternalIdconsistent? Subsequent events join by this id. Use a stable value — typically your internal user id. - Did you hit the right endpoint?
https://api.revroute.ru/track/lead(server-side, Bearer API key) vs.https://api.revroute.ru/track/lead/client(publishable key, browser). - Is deduplication kicking in? The same
customerExternalId+eventNamecombination is recorded once. If you fired the event before, the second call returns200but doesn’t create a new lead. Use a differenteventNamefor multi-stage funnels.
Missing commission
A sale was tracked but no commission was created for the partner.
Checklist
- Is the customer associated with a partner click? Open the customer record — the Attribution tab shows the partner. If empty, no click ever happened from a partner link.
- Is the sale within the attribution window? Default is 90 days from the click. Sales outside the window don’t generate commissions.
- Is the partner enrolled and active? Suspended partners don’t get commissions. Check
Partners → <partner> → Status. - Does the program’s reward rule cover this event? Reward rules can require minimum amount, specific products, or specific currencies. Open
Program → Rewardsand check the conditions. - Is there a conversion hold? If you enabled
hold_minutesin fraud rules, commissions are queued; check the Pending tab.
CORS errors
The browser console shows:
Access to fetch at 'https://api.revroute.ru/track/lead/client' from origin 'https://yoursite.com'
has been blocked by CORS policyCause
The publishable key has an allowed origins list. The browser sent a request from a domain not in that list, so the API refuses with no Access-Control-Allow-Origin header.
Fix
Open analytics settings
Go to /<workspace>/settings/analytics?step=connect.
Add the origin
Add the exact origin shown in the browser error (scheme + host + port — no path, no trailing slash). For example https://yoursite.com or https://app.yoursite.com. Add both https:// and http://localhost:3000 if you develop locally.
Wait for cache to clear
Allow up to 60 seconds for the change to propagate. Hard-reload the browser tab.
Do not use a wildcard * for production. Anyone could send fake events from any origin. Whitelist your real domains only.
CORS errors only in production
If localhost works but production fails, the origins list is missing your production domain. The dev origin and the prod origin must both be added.
The analytics script doesn’t load
Open DevTools → Network → reload. If the request to the analytics script returns 404 or never starts:
- The script tag is incorrect — check that
srcmatches the value provided in/<workspace>/settings/analytics?step=connect. - A content blocker is interfering — try in an incognito window with no extensions.
- The page has a Content-Security-Policy missing
script-src https://app.revroute.ru(or wherever your script is hosted).
When all else fails
Reproduce the event with the API directly:
curl -X POST https://api.revroute.ru/track/lead \
-H "Authorization: Bearer $REVROUTE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"clickId": "yNrYm0F6r1KMnq6N",
"eventName": "Sign Up",
"customerExternalId": "user_test_123",
"customerEmail": "test@example.com"
}'If this returns 200 and the lead appears in the dashboard, the platform is fine — your client integration is the issue. If it returns 4xx, the body carries an error.message that tells you exactly what’s wrong.
See also: API errors, Attribution best practices.