Send Login Status and User Role to GA4
Sets GA4 user properties for whether the visitor is logged in and their role (for example customer or subscriber), so you can compare members and guests in reports.
Opens WPIDE on
Code
add_action( 'wp_head', function () {
$user = wp_get_current_user();
$props = array(
'logged_in' => $user->exists() ? 'yes' : 'no',
'user_role' => $user->exists() && $user->roles ? (string) reset( $user->roles ) : 'guest',
);
echo "<script>window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('set', 'user_properties', " . wp_json_encode( $props ) . ");</script>\n";
}, 2 );
Notes
Register logged_in and user_role as user-scoped custom dimensions in GA4 > Admin > Custom definitions. No personal data such as names or emails is sent.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.