google-analyticsgoogle-analytics-4gtag.jsanalytics.js

Which is the best method to set up event tracking for new account signup steps in GA4?


Currently I'm using the following analytics.js method to track different funnels/goals and these get triggered on each specific page.

ga('send', 'pageview', '/ConversionEvents/Step1_MembershipPlan');
ga('send', 'pageview', '/ConversionEvents/Step2_AccountInformation');
ga('send', 'pageview', '/ConversionEvents/Step3_PaymentInformation');
ga('send', 'pageview', '/ConversionEvents/Step4_AccountConfirmation');
ga('send', 'pageview', '/ConversionEvents/Step5_ThankYou');

However, now that I switched to gtag.js I'm seeing what the best method would be to set these up. I came up with the following 3 options.

Option 1:

gtag('event', 'sign_up', {'step_name': 'step1_membership_plan'});

Option 2:

gtag('event', 'pageview', {'step_name': 'step1_membership_plan'});

Option 3:

gtag('event', 'step1_membership_plan');

I'm leaning towards using option 3 because it would be easier to view these events in GA4 since it will be listed as a different event name and it would be easier to create funnels.

From reading online, they say it's better to use the recommended/automatic events like sign_up and pageview for this but I'm not sure if then I can set up events to track the different parameters (e.g. step_name) that I set up for each step.

Which option would be the best to go with?

Thank you!


Solution

  • Personally, I would not clutter my GA4 with too many distinct event names.

    But that's a matter of taste: If I understand Google's limits page correctly, web properties do not currently have a limit on distinctly named events, whereas app properties are limited to 500. Ref.: https://support.google.com/analytics/answer/9267744?hl=en)

    Instead, I would send the following events:

    (That is assuming that each step is just a virtual page view and does not actually send a page_view event to Google. If it does send a page_view, you can create the sign_up_step_complete event server-side based on the URL or not create an event at all and just use the page_view.)

    This way, you're using the dafault sign_up event which might show up in a default GA report while also tracking intermediate steps in a separate custom event.

    Finally, I would visualize the data in a free-form exploration funnel analysis.