People opening box of knowledge

The GA4 Clock is Ticking and Time is Running Out

(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.)

French poet Charles Pierre Baudelaire once wrote, “In putting off what one has to do, one runs the risk of never being able to do it.” Not to be outdone, Oshkosh, Wisconsin native and mattress store owner Wilbur Croskowsky once promoted his store’s big annual sale in a TV commercial by proclaiming, “You snooze, you lose!”

So, what do 18th century French poets and Mid-west mattress sales have in common with Google Analytics 4 (GA4)? More than you might think, but let’s start with the basics.

 

What is GA4?

GA4 is the latest data tracking platform released by Google. It was developed to address evolving patterns in consumer behavior, changing privacy and personal data standards, and the essential need for improved analytics.

Unlike when the current version of Universal Analytics (UA) was introduced 10 years ago, today’s users interact with websites through multiple devices and touchpoints and perform a variety of online and offline actions. Even an upgrade to Universal Analytics would not have been enough to track the modern user’s journey and make sense of all the data, all the while maintaining data privacy. GA4 was therefore developed with these challenges in mind.

 

What’s Different?

User events are now prioritized over sessions

While GA4 still provides session reporting, the events-based data model will now track every interaction with a website as an event. Pageviews, Button clicks, page scrolling, and completing a purchase are all examples of interactions you can measure. In a future GA4 post we will go into greater depth about how events are now custom and will need to be created based on website functionality and event objectives.

AI & machine-learning capabilities

With predictive audiences, GA4 leverages its AI & machine-learning capabilities to help classify website users into more specific groups. Furthermore, it helps predict users who are likely to perform a specific action on your website in the future. We will delve into audiences and audience behaviors in a future GA4 post.

Reporting is no longer a one-size-fits-all model

GA4’s custom reporting provides a better understanding of how users are engaging with your website, as well as insights into how to improve your website for a better overall user experience. GA4 provides us with custom reporting options that allow us to dig even deeper into the data. In a future GA4 post we will explore how in-depth these reports can be and how they can be custom built.

 

Why Does This Matter Now?

GA4 is completely separate from Universal Analytics (UA). This is important because 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 ultimately come to an end. Users will still have access to historical UA reports until the end of 2023, but access to this data may eventually be lost as could the data itself.

Google, up until now, has not released a plan to migrate historical data from UA into the GA4 platform. If this remains the case, then it is crucial to protect your historical data and begin to collect new data in the GA4 platform as soon as possible. You’ll want at least up to a year’s worth of data in GA4 alongside your UA data.

Even if you’re not ready to make the full leap to GA4 today, we advise that you begin tracking GA4 in conjunction with UA to monitor your most important goals in both platforms. In this scenario you can still collect almost a full year of data before UA is sent to pasture and that data is lost. Remember, data cannot be collected retroactively, so once it’s lost it’s gone forever. We will address this in our next GA4 post about Dual Tagging.

 

Don’t Put Off Until Tomorrow …

Look at that, Baudelaire and Croskowsky were right. If you keep putting off what has to be done, you run the risk of not being able to do it, or in this case not being able to do it successfully. It’s not too late to switch to GA4 and retain valuable Year over Year (YoY) data, but it may be if you wait much longer. Don’t sleep on this one.

We recommend installing the new Google Analytics 4 on your website as soon as possible. At Brawn Media, we have a team of analytics experts that can set up and manage your GA4 or even help with training, so you can depend on your YoY website data to effectively guide all your future marketing efforts.

In our next blog post in the GA4 Series, we’ll discuss how to enhance your existing Universal Analytics implementation by dual-tagging with GA4.

Contact us today to discuss all your GA4 options. There’s no time to dilly-dally. Tick Tock Mr. Wick. Tick Tock.

[gravityform id="12" ajax="true" title="false" description="false"]
<div class='gf_browser_unknown gform_wrapper gravity-theme' id='gform_wrapper_12' style='display:none'><div id='gf_12' class='gform_anchor' tabindex='-1'></div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_12' id='gform_12' action='/blog/the-ga4-clock-is-ticking/#gf_12' novalidate novalidate="novalidate"> <div class='gform_body gform-body'><div id='gform_fields_12' class='gform_fields top_label form_sublabel_below description_below'><div id="field_12_1" class="gfield field_sublabel_below field_description_below hidden_label gfield_visibility_visible gsurvey-survey-field " data-field-class="gsurvey-survey-field" data-js-reload="field_12_1"><label class='gfield_label' >Review Rating</label><div class='ginput_container gsurvey-rating-wrapper'><div class='gsurvey-rating' id='input_12_1'><input name='input_1' type='radio' value='grating1e4d2da23' id='choice_12_1_0' /><label for='choice_12_1_0' title='5'>5</label><input name='input_1' type='radio' value='grating18c2bcc3a' id='choice_12_1_1' /><label for='choice_12_1_1' title='4'>4</label><input name='input_1' type='radio' value='grating153344878' id='choice_12_1_2' /><label for='choice_12_1_2' title='3'>3</label><input name='input_1' type='radio' value='grating17d654cc7' id='choice_12_1_3' /><label for='choice_12_1_3' title='2'>2</label><input name='input_1' type='radio' value='grating19b5e35b5' id='choice_12_1_4' /><label for='choice_12_1_4' title='1'>1</label></div></div></div><div id="field_12_4" class="gfield gfield--width-full field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_12_4"><label class='gfield_label' for='input_12_4' >Email *</label><div class='ginput_container ginput_container_email'> <input name='input_4' id='input_12_4' type='email' value='' class='large' placeholder='Email Address *' aria-invalid="false" /> </div></div><div id="field_12_3" class="gfield gfield--width-full field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_12_3"><label class='gfield_label' for='input_12_3' >Comment</label><div class='ginput_container ginput_container_textarea'><textarea name='input_3' id='input_12_3' class='textarea small' placeholder='How can we improve your experience? *' aria-invalid="false" rows='10' cols='50'></textarea></div></div></div></div> <div class='gform_footer top_label'> <button type="submit" id="gform_submit_button_12" class="gform_button button" onclick='if(window["gf_submitting_12"]){return false;} if( !jQuery("#gform_12")[0].checkValidity || jQuery("#gform_12")[0].checkValidity()){window["gf_submitting_12"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_12"]){return false;} if( !jQuery("#gform_12")[0].checkValidity || jQuery("#gform_12")[0].checkValidity()){window["gf_submitting_12"]=true;} jQuery("#gform_12").trigger("submit",[true]); }'>Submit</button> <input type='hidden' name='gform_ajax' value='form_id=12&amp;title=&amp;description=&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_12' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='12' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_12' value='WyJbXSIsIjNlMDgwMzI4ZGJhNjlmZjk1YmQwMGZmMWVkYjg5NWRmIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_12' id='gform_target_page_number_12' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_12' id='gform_source_page_number_12' 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="134"/><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_12' id='gform_ajax_frame_12' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type="text/javascript"> gform.initializeOnLoaded( function() {gformInitSpinner( 12, 'https://www.brawnmediany.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_12').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_12');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_12').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_12').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_12').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_12').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_12').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_12').val();gformInitSpinner( 12, 'https://www.brawnmediany.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [12, current_page]);window['gf_submitting_12'] = 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_12').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_12').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [12]);window['gf_submitting_12'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_12').text());}, 50);}else{jQuery('#gform_12').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [12, 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/the-ga4-clock-is-ticking/#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_3" name="ak_js" value="207"/><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>
[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/the-ga4-clock-is-ticking/#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' >Name</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_4" name="ak_js" value="65"/><script>document.getElementById( "ak_js_4" ).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>