People opening box of knowledge

GA4 Event-Based Reporting Explained

(On July 1, 2023, Universal Analytics, the platform we have all relied on for our website data over the last 10 years, will stop processing data and hits and ultimately come to an end. After that date, GA4 will become the Google Analytics solution. Therefore, we recommend installing the new Google Analytics 4 on your website as soon as possible.)

Welcome to the next blog of our GA4 series; we’re glad to have you back! Our topic of discussion is GA4 reporting, and how Google has made the move from a session-based model to an event-based model. Before we get into the details, if the term GA4 is new to you, stop here and visit our previous blog for a breakdown on what GA4 is, how it differs from its predecessor Universal Analytics, and why it’s important to make the switch for your business!

 

What is an Event?

An event can be defined as an interaction a user has with a website or an app. These interactions can include page views, link clicks, making a purchase, and more!

 

What’s the Difference Between Event-Based and Session-Based Reporting?

One of the biggest differences between Universal Analytics and Google Analytics 4 is the data model that each platform uses. Universal Analytics uses a session-based data model, whereas Google Analytics 4 uses an event-based model to track user engagement. This new event-based data model was created to improve the way we analyze and understand multi-funnel attribution, as well as gain more insight into the cross-device and cross-platform tracking for your website or app.  With this new data model in mind, GA4 should allow advertisers and business owners to gain a deeper overall understanding into how users are engaging with their business online.

 

Why Are Events Helpful in Reporting Data?

In Google Analytics, event-tracking can be extremely helpful to businesses, as it allows you to measure the different types of actions that are being taken on your website from any given channel or campaign, which can only improve your ability to analyze the performance of marketing campaigns and website functionality.

With Google Analytics 4, some events will be automatically tracked when you install the GA4 code onto your website.  This includes some of the more basic interactions, such as page views, session starts, page scrolls, etc.  However, if you are interested in gaining insight into other actions being taken on the site, then you will have the ability to create custom events to track those specific actions.  This could include form submissions on the website, specific button clicks, and so much more.

For example, if you want to measure the amount of button clicks that occur on the “Apply Online” button on your careers page, then you can set-up a specific event to capture and measure those engagements.  Or – if you simply just want to track the number of form submissions occurring on your “Contact Us” page, then you have the ability to add that.

With GA4, the possibilities are endless.

 

Default Reports Are Still Included!

If you are already familiar with Universal Analytics, then you will be happy to find some of the generic reports that were available in Universal Analytics can also be found in GA4!  This includes reports on who your customers are, where they come from, what technology they are using, are they returning customers, customer shopping activity, content engagement, and more.

While these pre-built reports are helpful in acquiring general information about your website or app performance, there is even more to explore and uncover with custom events and reporting.  By implementing more advanced custom-event tracking and customized reports, this will only improve your ability to analyze and understand how customers are interacting and engaging with your business.

 

Let Our Expert Digital Team Help Your Business Today!

Contact our team to learn more about GA4 and how to implement it in order to retain your valuable data! The clock is ticking, and on July 1st, 2023 Google Analytics will stop collecting data. We recommend installing GA4 on your website now! Visit our website or reach out today.

[gravityform id="10" title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper gravity-theme' id='gform_wrapper_10' ><div id='gf_10' class='gform_anchor' tabindex='-1'></div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_10' id='gform_10' action='/blog/ga4-event-based-reporting-explained/#gf_10' novalidate novalidate="novalidate"> <div class='gform_body gform-body'><div id='gform_fields_10' class='gform_fields top_label form_sublabel_below description_below'><div id="field_10_4" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_10_4"><label class='gfield_label' for='input_10_4' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_text'><input name='input_4' id='input_10_4' type='text' value='' class='large' placeholder='Email Address *' aria-required="true" aria-invalid="false" /> </div></div><div id="field_10_3" class="gfield gfield--width-three-quarter field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_10_3"><label class='gfield_label' for='input_10_3' >Phone</label><div class='ginput_container ginput_container_phone'><input name='input_3' id='input_10_3' type='tel' value='' class='large' placeholder='Phone Number' aria-invalid="false" /></div></div><div id="field_10_5" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_10_5"><label class='gfield_label' for='input_10_5' >Phone</label><div class='ginput_container'><input name='input_5' id='input_10_5' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_10_5'>This field is for validation purposes and should be left unchanged.</div></div><div id="field_submit" class="gfield gfield--width-quarter field_sublabel_below field_description_below gfield_visibility_visible" data-field-class="gform_editor_submit_container" data-field-position="inline" data-js-reload="true"><button type="submit" id="gform_submit_button_10" class="gform-button gform-button--white button gform-button--width-full" onclick='if(window["gf_submitting_10"]){return false;} if( !jQuery("#gform_10")[0].checkValidity || jQuery("#gform_10")[0].checkValidity()){window["gf_submitting_10"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_10"]){return false;} if( !jQuery("#gform_10")[0].checkValidity || jQuery("#gform_10")[0].checkValidity()){window["gf_submitting_10"]=true;} jQuery("#gform_10").trigger("submit",[true]); }'>Get Started</button></div></div></div> <div class='gform_footer top_label'> <input type='hidden' name='gform_ajax' value='form_id=10&amp;title=&amp;description=&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_10' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='10' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_10' value='WyJbXSIsIjNlMDgwMzI4ZGJhNjlmZjk1YmQwMGZmMWVkYjg5NWRmIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_10' id='gform_target_page_number_10' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_10' id='gform_source_page_number_10' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_2" name="ak_js" value="71"/><script>document.getElementById( "ak_js_2" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_10' id='gform_ajax_frame_10' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type="text/javascript"> gform.initializeOnLoaded( function() {gformInitSpinner( 10, 'https://www.brawnmediany.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_10').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_10');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_10').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_10').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_10').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_10').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_10').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_10').val();gformInitSpinner( 10, 'https://www.brawnmediany.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [10, current_page]);window['gf_submitting_10'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_10').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_10').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [10]);window['gf_submitting_10'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_10').text());}, 50);}else{jQuery('#gform_10').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [10, current_page]);} );} ); </script>
[gravityform id="10" title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper gravity-theme' id='gform_wrapper_10' ><div id='gf_10' class='gform_anchor' tabindex='-1'></div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_10' id='gform_10' action='/blog/ga4-event-based-reporting-explained/#gf_10' novalidate novalidate="novalidate"> <div class='gform_body gform-body'><div id='gform_fields_10' class='gform_fields top_label form_sublabel_below description_below'><div id="field_10_4" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_10_4"><label class='gfield_label' for='input_10_4' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_text'><input name='input_4' id='input_10_4' type='text' value='' class='large' placeholder='Email Address *' aria-required="true" aria-invalid="false" /> </div></div><div id="field_10_3" class="gfield gfield--width-three-quarter field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_10_3"><label class='gfield_label' for='input_10_3' >Phone</label><div class='ginput_container ginput_container_phone'><input name='input_3' id='input_10_3' type='tel' value='' class='large' placeholder='Phone Number' aria-invalid="false" /></div></div><div id="field_10_5" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_10_5"><label class='gfield_label' for='input_10_5' >Email</label><div class='ginput_container'><input name='input_5' id='input_10_5' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_10_5'>This field is for validation purposes and should be left unchanged.</div></div><div id="field_submit" class="gfield gfield--width-quarter field_sublabel_below field_description_below gfield_visibility_visible" data-field-class="gform_editor_submit_container" data-field-position="inline" data-js-reload="true"><button type="submit" id="gform_submit_button_10" class="gform-button gform-button--white button gform-button--width-full" onclick='if(window["gf_submitting_10"]){return false;} if( !jQuery("#gform_10")[0].checkValidity || jQuery("#gform_10")[0].checkValidity()){window["gf_submitting_10"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_10"]){return false;} if( !jQuery("#gform_10")[0].checkValidity || jQuery("#gform_10")[0].checkValidity()){window["gf_submitting_10"]=true;} jQuery("#gform_10").trigger("submit",[true]); }'>Get Started</button></div></div></div> <div class='gform_footer top_label'> <input type='hidden' name='gform_ajax' value='form_id=10&amp;title=&amp;description=&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_10' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='10' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_10' value='WyJbXSIsIjNlMDgwMzI4ZGJhNjlmZjk1YmQwMGZmMWVkYjg5NWRmIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_10' id='gform_target_page_number_10' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_10' id='gform_source_page_number_10' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_3" name="ak_js" value="228"/><script>document.getElementById( "ak_js_3" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_10' id='gform_ajax_frame_10' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type="text/javascript"> gform.initializeOnLoaded( function() {gformInitSpinner( 10, 'https://www.brawnmediany.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_10').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_10');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_10').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_10').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_10').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_10').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_10').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_10').val();gformInitSpinner( 10, 'https://www.brawnmediany.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [10, current_page]);window['gf_submitting_10'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_10').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_10').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [10]);window['gf_submitting_10'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_10').text());}, 50);}else{jQuery('#gform_10').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [10, current_page]);} );} ); </script>