Reference
Troubleshooting and FAQ
Answers to the most common Revfaro questions and fixes for missing visits, unattributed payments, duplicate or missing revenue, locked dashboards and bot setup.
In short
Most problems have a quick fix. No visits usually means the script is missing, blocked, on another domain or switched off with ?rf_ignore=true. Payments without a source usually mean the checkout didn't carry the visitor and no return page is set up. A locked dashboard means the monthly events are used up or the plan has ended.
On this page
- Visits
- No visits show up at all
- Some pages or visitors are missing
- Visits from my staging site show up
- Locations look wrong
- Revenue
- Payments don't appear at all
- Payments appear without a source
- Revenue looks too high
- Revenue looks too low
- Dashboards
- The dashboard says it's locked
- I can't see Website settings
- Times or days look shifted
- Payments arrived while our plan was inactive
- Signing in
- Logging in says "Confirm your email"
- Continue with Google didn't work
- Bots
- The bot check never arrives
- Still need help?
- Frequently asked questions
Visits
No visits show up at all
Go through Verify your installation. The usual causes:
- The script isn't in the
<head>of the page you opened, or the website ID is wrong (the request answers404). - The page isn't on the website's domain or a subdomain of it (the request answers
403).localhostand preview domains are never recorded. - You opened
?rf_ignore=truein this browser earlier. Open?rf_ignore=falseor use a private window. - An ad blocker or a Content Security Policy blocks the script. Allow your Revfaro address in
script-srcandconnect-src, or proxy the script. - The workspace's trial or subscription has ended, so new events aren't recorded.
Some pages or visitors are missing
- An exclusion rule matches them. The Exclusions card shows how many events were excluded in the last 7 days.
- The page loads the script more than once, or not at all. Each page needs it exactly once.
- Ad blockers hide a share of visitors on every analytics tool. Payments are never lost, because they arrive by webhook.
Visits from my staging site show up
Add its hostname, such as staging.example.com or *.preview.example.com, under Website settings › Tracking › Exclusions › Hostnames.
Locations look wrong
Locations are approximate and come only from verified Cloudflare headers. VPNs and mobile networks can place people far away. Missing location information stays unknown. If you proxy the script and forward the visitor's address, the visit remains unlocated because Cloudflare sees your proxy's location. Use the direct Revfaro endpoint when you need location reporting.
Revenue
Payments don't appear at all
- Check the webhook in your provider: the address must end with your website ID, the right events must be selected, and recent deliveries should succeed (a
2xxanswer). - Check the signing secret: paste it again in Connect payments and click Save. A wrong secret rejects every delivery.
- Make sure the webhook is in the right mode or organization: Lemon Squeezy test-mode orders are never counted, and a Stripe endpoint only receives events from its own mode.
- Your plan must include revenue attribution. Without it, deliveries succeed but your provider's log shows the answer
"ignored": "plan without revenue attribution".
Payments appear without a source
The payment couldn't be linked to a visitor. In order of impact:
- Pass the visitor to the checkout (step 3 of your provider's guide), or use checkout links on your pages, which the script tags.
- Set up the return page with the payment's ID (
?session_id=,?payment_id=,?checkout_id=or?order_identifier=), and make sure that page loads the script and isn't excluded. - Identify signed-in users, so payments can be matched by email.
- Click Try matching again in the Journey tab; it explains why each payment did or didn't match.
Revenue looks too high
- The same store sends to several websites. Lemon Squeezy and Polar send every order to every webhook, and one Dodo Payments account can sell products for several websites. See the notes on several websites in the Dodo Payments, Lemon Squeezy and Polar guides.
- Several currencies. Revenue isn't converted between currencies, so a payment of 100 in another currency adds 100 to your total. Charge in the website's revenue currency where you can.
- Test payments. A webhook in a sandbox organization or test mode sends test payments as real ones.
The same payment is never counted twice: payments are identified by your provider's payment ID.
Revenue looks too low
- Refunds are subtracted, including partial ones.
- Renewals are credited to the month they're paid in, not to the first purchase.
- Check that
invoice.paid(Stripe) orsubscription_payment_success(Lemon Squeezy) is selected, so renewals arrive.
Dashboards
The dashboard says it's locked
- Monthly event limit reached: the workspace used its events for this month. Tracking keeps running; upgrade to see your data now, or wait for the 1st (UTC).
- Your plan is inactive: the trial or subscription has ended. New events aren't recorded until the owner picks a plan.
See Plans, billing and usage limits.
I can't see Website settings
Workspace owners, admins and members with Manager access to that website can open its settings. Ask an owner or admin to edit your website access under Workspace settings › Members. Read-only members can still use the dashboards they are allowed to see.
Times or days look shifted
The dashboard uses the website's timezone, shown at the bottom of the dashboard. Change it under Website settings › General.
Payments arrived while our plan was inactive
Webhooks keep recording payments while a trial or subscription has ended. They show up in your dashboard, with their sources, as soon as a plan is active again.
Signing in
Logging in says "Confirm your email"
Open the confirmation link Revfaro emailed you when you signed up. Can't find it? Check your spam folder, or click Resend email on that screen.
Continue with Google didn't work
You're taken back to the login page with the reason:
- Timed out or started in another tab: start Continue with Google again from the same tab.
- Cancelled: you closed Google's window; try again, or log in with your email and password.
- Already linked to a different Google account: your email is connected to another Google account. Continue with that account, or log in with your password.
- Account disabled: contact support.
Bots
The bot check never arrives
- The middleware must run for the page you request. On Next.js, check the
matcherand that the file is calledmiddleware.ts(proxy.tson Next.js 16) in the right folder. REVFARO_API_KEYmust be set in the server's environment, with the current key.- Use the exact check command from Website settings › Bots, then click Check again.
See Bot traffic.
Still need help?
Write to us from the contact page with your website's domain and what you tried. Please never send your API key or webhook secrets.
Frequently asked questions
Why is Revfaro not showing any visitors?
Check that the script is in the <head> of the page, that the page is on your website's domain (not localhost), that your browser isn't excluded with ?rf_ignore=true and that no ad blocker or Content Security Policy blocks it. Verify your installation walks through every check.
Why do my payments show Not attributed?
The payment arrived without a visitor ID, and the return page, an earlier payment, an identified email and checkout timing couldn't find the buyer. Pass the visitor to your checkout, set up your provider's return page, identify signed-in users, then click Try matching again in the Journey tab.
Why don't my Revfaro numbers match Google Analytics?
Tools count differently. Revfaro never counts bots or automated browsers, ignores pages outside your website's domain, and starts a new visit after 30 minutes without activity. Ad blockers also affect each tool differently.
Why do visitors from Safari come back as new visitors?
Safari keeps cookies set by JavaScript for at most 7 days, so a Safari visitor returning after a week counts as new. Identifying signed-in users recovers most of their payments by email.
Can I import data from another analytics tool?
Not at the moment. Revfaro starts recording when the script is installed.