Skip to main content
Question

Wordpress - Logged in user as UserID

  • November 4, 2024
  • 1 reply
  • 84 views

Hello, I am using the wordpress plugin but need to add more user instrumentation. Is there a good source to create the header code to accomplish the following?

  • Map Wordpress user email to Amplitude UserID
  • Map User First name to Amplitude User Property
  • Map User Last  name to Amplitude User Property
  • Map Wordpress User Meta value “Company” to Amplitude User Property Company

I’d like to start with this, and perhaps upgrade Amplitude and use “Company” as a group ID to aggregate activity.

1 reply

  • Author
  • New Member
  • 1 reply
  • November 4, 2024

I’ve added this code - does this look correct?

function add_amplitude_script() {
    $user_id = get_current_user_id();  // WordPress user ID
    $user_email = wp_get_current_user()->user_email;  // User email
    $company = get_user_meta($user_id, 'company', true);  // 'company' user meta value
    ?>
    <script>
        // Initialize Amplitude
        (function(e,t){var n=window.amplitude=window.amplitude||[];n._q=[],n._iq=[],n.init=function(e,t,r){var a=n._q;for(var s=0;s<a.length;s++){n[a[s][0]].apply(n,a[s].slice(1))}n._iq.push([e,t,r])};n.logEvent=function(e,t){n._q.push(["logEvent",e,t])};n.setUserId=function(e){n._q.push(["setUserId",e])};n.setUserProperties=function(e){n._q.push(["setUserProperties",e])};n.identify=function(e){n._q.push(["identify",e])};n.setGroup=function(e,t){n._q.push(["setGroup",e,t])};n.setVersionName=function(e){n._q.push(["setVersionName",e])};n.setDomain=function(e){n._q.push(["setDomain",e])};n.trackEvent=function(e,t){n._q.push(["trackEvent",e,t])};n.trackPageview=function(){n._q.push(["trackPageview"])};
        var r=t.createElement("script");r.type="text/javascript";r.async=true;r.src="https://cdn.amplitude.com/libs/amplitude-7.2.0-min.gz.js";var a=t.getElementsByTagName("script")[0];a.parentNode.insertBefore(r,a);
        })(document,window);

        // Initialize Amplitude with your API key
        amplitude.init("YOUR_API_KEY");

        // Set the Amplitude user ID to the WordPress user email
        var userEmail = <?php echo json_encode($user_email); ?>;
        if (userEmail) {
            amplitude.setUserId(userEmail);

            // Set the user properties including the company and user ID
            var userId = <?php echo $user_id; ?>;
            var company = <?php echo json_encode($company); ?>;
            amplitude.setUserProperties({
                company: company,
                wordpress_user_id: userId  // Add user ID as a user property
            });
        }
    </script>
    <?php
}
add_action('wp_footer', 'add_amplitude_script');


 


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings