In projects we try to tie offline events to GA4 via client_id, but it doesn’t work for all clients. Users come from multiple devices, and purchases in CRM are logged separately from online events - gaps and misalignments.

Personal experience: we tried to connect one purchase across devices, and GA4 and CRM told different stories. Budgets swing based on mismatched numbers.

What makes it a problem? The snag.

• client_id isn’t persisted across devices, so offline and online events aren’t matched correctly.
• Without a session identifier and offline data import, GA4 loses the link between the customer path and revenue.

When CRM and GA4 live in separate worlds, you see gaps in conversions and the customer journey, which leads to wrong budgeting decisions.

What can we take away?

You need a single user_id and a mechanism to import offline events with stitching the session_id. This lets you stitch online behavior and offline conversions into one customer story.

We tested user_id/session_id migration on a project - the data started lining up with real customer behavior.

What should we do next?

• Implement a unified user identifier on site and in CRM so the user logs in, and send offline events into GA4 with session_id.

Want to get all my top Linkedin content? I regularly upload it to one Notion doc.

Go here to download it for FREE.