Troubleshooting signup and revenue tracking
Unknown sources, missing signups, 204 responses and unmatched revenue.
| Symptom | Likely cause | Fix |
|---|---|---|
| Signups show “Unknown source” | The script is behind a cookie banner, or missing on the page where people sign up | Load it on every page; see Cookie banners |
| Signups show “Unknown source” | Server-side call sent without the cookies | Read the three cookies from the incoming request, not from a webhook or background job |
| No signups at all | window.chartsy is undefined when you call identify() | Check the script tag is on that page and not blocked; call after it loads |
| Server call returns 204 | Wrong secret key, or no valid email in the body | Check Authorization: Bearer and the email field |
| Nothing recorded while testing locally | The script ignores localhost and private IP addresses, so test runs don’t inflate your numbers | Test on a deployed site. Server-side calls with the secret key work from anywhere. |
| Automated tests never show up | Automated browsers (Playwright, Puppeteer, Selenium, headless Chrome) are ignored | Expected. Check tracking by hand in a normal browser on the deployed site. |
| Laravel: every signup has an unknown source | Laravel encrypts cookies, so the backend can’t read Chartsy’s | Add the cookie exemption from the Laravel guide |
| Nothing recorded from your own browser | You opted out with ?chartsy_ignore=1 | Visit any page with ?chartsy_ignore=0 |
| Existing users appear as new signups | A login hook calls identify without a “new account” check | Add the check from your signup guide |
| Revenue not matched to a source | Different billing and signup email, and no visitor id on the customer | Follow the Stripe or Paddle guide |
Repeated calls for the same email are safe: Chartsy keeps the first signup and ignores the rest.


