FUNNEL SHOWING 0 CONVERSIONS DUE TO IDENTITY CHANGE (I think)
FUNNEL SHOWING 0 CONVERSIONS DUE TO IDENTITY CHANGE (I think) I am using Auto Track. My funnel report shows 0 conversions, even though I have done 3 test conversions myself. I think the problem is that the user's unique ID changes between Step 1 and Step 3 - breaking Mixpanel's ability to track the user through the funnel. I have not had any luck fixing this and cannot find a well-written solution here. FUNNEL: Step 1: page view contains /apply-now/ Step 2: page view contains /checkout/plus/ Step 3: Event is Paywall Converted All of the data is there, I can see the plans people are buying, and I can see the price, etc., in the event details, but I just cannot figure out how to get conversion rates working. How to let Mixpanle know that it is the same person hitting the (apply-now) page, paying, and firing the Paywall Converted event. ADDITIONAL DETAILS I have been battling this all day, reading a ton, and testing a lot, and just cannot get it sorted. Here is additional info from a GPT Project I have trained on Mixpanel's dox:
You are almost certainly dealing with an **identity stitching issue**, not a data issue. Mixpanel is likely seeing this: - Step 1 → Anonymous device ID (`$device:xxxx`) - Step 2 → Same anonymous device ID - Step 3 → Identified user (email as distinct_id) When the `distinct_id` changes mid-journey, Mixpanel treats them as two different users. The result: **0 funnel conversions**, even though the events exist. --- # Why This Happens With Autocapture enabled, Mixpanel assigns a temporary anonymous ID: $device:abc123… When someone completes the Circle Paywall purchase, the script runs, replaceing the anonymous ID with the email. I cannot figure out how to alias the anonymous ID to the assigned unique ID after purchase, which breaks the funnel breaks. --- # The Suggested Correct Fix (tried 8 times with no luck): 1. Capture the anonymous ID 2. Alias anonymous → email 3. Identify(email) 4. (Optional) Set profile properties Order matters. Alias must run *before* identify replaces the ID.
