Skip to main content

Troubleshooting

The failures we see most often, and what to do about them. For setup-time issues, start at the relevant Getting Started page. This page is for things that worked once and stopped, or stuck states.

Report generation

My report is stuck on "Generating…"

A report that's been generating for more than 90 seconds is almost always one of:

  1. Anthropic API hiccup. The worker retries transient errors automatically. Wait two minutes, then refresh.
  2. Long-running quota check. Reload the page — the row will show the current state. If it's flipped to FAILED, your quota auto-refunded.
  3. Process killed. Rare on Railway, but a redeploy mid-generation can leave the row stuck. Click Regenerate to start a fresh pass; the old row stays as audit history.

If a report is stuck for >5 minutes, Regenerate is always safe.

Why does my report show "Failed"?

Common causes:

  • AI reports are not configured on this server. — your ANTHROPIC_API_KEY is missing in the operator's environment. If you self-deploy, set it; if you're on the hosted product, email [email protected].
  • Failed to build funnel snapshot. — usually means the funnel doesn't have any stages or all stages are empty. Confirm the funnel canvas isn't blank, then regenerate.
  • Monthly AI report quota reached. — you've used your monthly allotment. Quota resets the 1st of the month UTC.

My score is 30 and the report is mostly setup advice

That's the model telling you it can't see your funnel. The score caps at 30 when tracking isn't installed and at 50 when Stripe isn't connected. Install tracking and connect Stripe, then regenerate.

Automations

My automation is ACTIVE but no runs are showing

Things to check, in order:

  1. Trigger source. A subscription_trial automation only fires when a Stripe subscription enters status = "trialing". Form submits or stage-entry events with no Stripe link won't trigger it. See Automations → Triggers.
  2. Profile is unsubscribed or hard-bounced. Workspace-wide suppression cancels automation runs. Check Settings → Email → Suppressions for the recipient.
  3. Stage's track filter. On a split funnel, the automation is scoped to a specific track. Profiles assigned to a different track won't enroll.
  4. Existing RUNNING run. If a profile already has an active run on the same automation, re-enrollment is blocked until that run completes or is cancelled.

A run is parked on WAITING_FOR_EVENT forever

WAIT_UNTIL steps park until the named event fires (or the timeout elapses). If the event never comes, the run waits indefinitely up to the timeout. Check the step's configured event and timeout in the editor.

My drip is taking ages to send all steps

The cron tick advances each run by one step every 5 minutes to keep the queue smooth. A 5-step automation with no WAIT blocks still takes ~25 minutes end-to-end. To compress, combine adjacent SENDs into a single SEND step or insert deliberate small WAITs for honesty.

Email & DNS

My email domain shows as "Pending" forever

Verification polls DNS for the four records we generate (MX, SPF, DKIM, optional DMARC). If it's been more than 30 minutes:

  1. Check your DNS records exactly. Use dig on each record. Common pitfalls: trailing dots, double-quoted TXT records, missing the leading _ on _dmarc.
  2. Verify the host. A record meant for mail.example.com must be created at the registrar's mail host, not at the apex.
  3. Wait for propagation. Some registrars (Squarespace, GoDaddy) propagate DNS slowly — up to a few hours.
  4. Sender domain ≠ apex. If you're sending from mail.example.com, your apex domain's DMARC policy still affects deliverability. A p=reject DMARC at the apex will silently fail your sends until you add a permissive _dmarc.mail.example.com record.

Open rates look high but clicks are zero

Apple Mail Privacy Protection (and similar) auto-fetch tracking pixels. That inflates open rates without a corresponding click. Trust click rate over open rate.

Email is going to spam

The most common cause on HOBBY is that you're sending from the shared funnelfizz.com domain and the recipient's corporate filter throttles it. Upgrade to PRO to verify your own domain with DKIM + SPF + DMARC.

For PRO: confirm DMARC alignment, warm the domain gradually (a few hundred sends a day for the first week), and avoid spam-trigger phrases in the subject line.

Tracking

My tracking site won't verify

Three most common causes (also covered in Install tracking → Verify):

  1. Meta verify tag is outside <head>. Some CMS templates inject scripts into <body>; the meta tag must be in <head> to count.
  2. Token mismatch. Confirm YOUR_TOKEN was replaced in both the <meta> tag and the <script> t= query.
  3. Ad-blocker. Disable in your test browser; the snippet honors DNT, so privacy extensions can suppress events.

My CONSIDERATION count looks low

  • Are you on FREE? Tracking events are retained 90 days only.
  • Did you register at the apex (example.com) or a subdomain? Subdomain registrations track each subdomain separately. Re-register at the apex if you want to track all subdomains as one site.
  • Is data-cookie-domain set on the snippet? Without it, _fn_vid is host-only and a visitor moving from example.com to app.example.com looks like two profiles.

identify isn't linking visitors to users

  1. Check the call ordering. identify is queued if the script hasn't loaded yet, but if it's never reaching the queue, the link won't form.
  2. userId is consistent. Don't pass session IDs or per-request UUIDs — pass your durable user identifier.
  3. Network tab. Filter for tracking and confirm a POST with type: "identify" actually goes out.

Stripe

CUSTOMER stage shows zero after connecting Stripe

Walk this checklist:

  1. Did you wait at least 15 minutes? The first sync happens on the next cron tick.
  2. Are your subscriptions in the right mode (live vs test)? rk_live_… keys see live data only.
  3. Is the product mapped to the TRIAL/CUSTOMER conversion under Conversion → Stripe Paid → Target products?
  4. Does the connected key have all seven scopes? Re-paste the key with all seven if not.

Stripe events look duplicated across funnels

If you have multiple funnels in the same workspace and Stripe customers appear under all of them, that's a known accounting issue — each funnel needs its own product mapping under Target products, not just a workspace-level Stripe connection. We're tightening the per-funnel scoping; until then, mapping each funnel to a non-overlapping product list is the workaround.


Still stuck? Email [email protected] with your account email, the funnel URL, what you expected, what you saw, and a screenshot. We usually reply the same day.