We’ve developed several reports which work with the data created by the Tag Rocket app for BigCommerce. Before you can use the report, you will need to have installed Tag Rocket and Set up Google Analytics 4 in the app. Then we need to create a data source that points to your GA4 property.

Creating the Data Source

Data Source Changes
v2.2Added Save Data, Screen Width/Height and updated to deal with the latest GA4 parameters
v2.1Added Support for LCP
v2.0Reworked how the data source works so that we can write more varied reports.
v1.5Major restructure on how Core Web Vitals is gathered and reported on to bring it in line with Google’s standard practices. Reduced the number of dimensions and metrics to manage. Report improvements.
v1.4Changed ‘Largest Shift’ to ‘Debug Target’, which now identifies key elements for LCP, FID and CLS.
v1.3Fix where some fields would change to percent
v1.3Initial public version

The reports are built using Google Data Studio. The first thing you need to do is create a special Data Source that can be used to connect your own store’s data with the report.

At the moment, the standard Data Source for GA4 is not usable. It randomly messes up the custom definitions. We have worked out the following steps to create a special Data Source that can be used in our reports. Hopefully, GA4/Data Studio fix this in the near future.

  1. Copy the latest Data Source Template version from the table above by opening the template and clicking on the copy icon and the copy button
  2. Select your GA4 account from the connection options, then click the ‘Reconnect’ button. The new data source is now based on your property. A popup will appear, indicating lots of issues. Ignore them and click ‘Apply’
  3. Rename it (top left) to include your store’s name. That way, you know which store and which version of the data source you are looking at. e.g. ‘Tag Rocket GA4 – My Store – vX.Y’
  4. Sometimes Data Studio duplicates some of the inbuilt fields with only one of the copies working. If you see any invalid formula warnings, then it is probably the case. Check through all the fields and add a ‘ 2’ after the make of duplicates. This will then let you try each duplicate in any failing formula.
  5. You now need to fix all the custom definition based fields, so the data source works. Check every field starting with an @ (indicates it uses custom definitions) and make sure all formulas match the formulas in the custom definitions fields table at the end of this guide. If the formula fails, then you may have to try the other duplicate for the referenced field.

Reports will have errors or be inaccurate if the functions on those fields are incorrect.

Your data source is now ready to use to power new reports.

Creating the Reports

ReportDescription
Website Errors (v2.0)The Tag Rocket GA4 tag tracks page errors, including JavaScript, Console, Network, JSON-LD and missing page errors. Some of these may be causing a bad user experience.
Core Web Vitals (v2.6)Provides details of your user’s page experience based on Google’s Core Web Vitals. Note that using the above data source for the report is less accurate than an implementation using BigQuery.
Title Tracking (v3.1)This report helps you track changes in your title tags and the effect they had on visibility in Google Search. You will need to also make a Title Tracking – Search Console data source (URL->web) for this report.
Monetisation (v2.2)This report shows user flow through the checkout process as well as helps you identify missing or duplicate transactions.
  1. Click on a report link to see the report
  2. Click the menu (ellipsis icon), then “Make A Copy”
  3. Select the data source you have previously created
  4. Click ‘Copy Report’
  5. Rename the new report (top left) to include your store name. e.g. ‘GA4 Tag Rocket Report – My Store – vX.Y’

You should now have a working report based on your own GA4 property. If you have only just published your GA4 tag in Tag Rocket, you will have to wait a day or two before you start seeing data.

Data Source Updates

Your data source can be re-used in new updates of the reports. However, some report updates may require the addition of new fields. This table lists all the custom fields, their values, and what version of the data source they were last changed/added in. When adding the field, enter the name id and formula (you can’t change the id once you have saved it). Afterwards, you can change the type or aggregation if required (bold).

Pre v2.0 data sources are not usable for these reports. You would need to create a new data source.

If you do decide to create a data source from scratch, you will have to add all the following fields. In some cases, fields refer to other fields which have to be added before them.

The following # fields directly relate to core GA4 properties. They are required but do not need checking to see if their formula is correct after a copy.

Last ChangeField NameField IDFormula (fx)TypeDefault Aggregation 
v2.2#Screen Widthfx_screen_widthCAST(REGEXP_EXTRACT(Screen resolution,'([0-9]*)x[0-9]*’) AS NUMBER)Numeric.Number
v2.2#Screen Heightfx_screen_heightCAST(REGEXP_EXTRACT(Screen resolution,'[0-9]*x([0-9]*)’) AS NUMBER)Numeric.Number
v2.0#Browserfx_browserBrowserTextNone
v2.0#Continentfx_continent'Unknown'TextNone
v2.0#Countryfx_countryCountryCountryNone
v2.0#Datefx_dateDateDateNone
v2.0#Devicefx_deviceDeviceTextNone
v2.0#Device categoryfx_device_categoryDevice categoryTextNone
v2.0#Event countfx_event_countEvent countNumeric.NumberAuto
v2.0#Event namefx_event_nameEvent nameTextNone
v2.0#Event revenuefx_event_revenueEvent revenueNumeric.NumberAuto
v2.0#Event valuefx_event_valueEvent valueNumeric.NumberAuto
v2.0#Operating systemfx_operating_systemOperating systemTextNone
v2.0#Operating system with versionfx_operating_system_with_versionOperating system with versionTextNone
v2.0#OS versionfx_os_versionOS versionTextNone
v2.0#Page path and query stringfx_page_path_queryPage path + query stringTextNone
v2.0#Page titlefx_page_titlePage titleTextNone
v2.0#Purchase revenuefx_purchase_revenuePurchase revenueNumeric.NumberAuto
v2.0#Regionfx_regionRegionRegionNone
v2.0#Session Engagementfx_session_engagement'Not supported'TextNone
v2.0#Session mediumfx_session_mediumSession mediumTextNone
v2.0#Session sourcefx_session_sourceSession sourceTextNone
v2.0#Sessionsfx_sessionsSessionsNumeric.NumberAuto
v2.0#Total usersfx_total_usersTotal usersNumeric.NumberAuto
v2.0#Transactionsfx_transactionsTransactionsNumeric.NumberAuto
v2.0#Viewsfx_viewsViewsNumeric.NumberAuto

The @ fields relate to GA custom definitions, and they do need checking to make sure they have the correct formula after a copy.

Last ChangeField NameField IDFormula (fx)TypeDefault Aggregation 
v2.2@Save Datafx_save_dataSave Data _ Tag Rocket
v2.1@Web Vitals value fx_metric_value Average Web Vitals value _ Tag Rocket / if(#Event name='LCP' OR Event name= 'TTFB' OR Event name= 'FCP',1000,1) Numeric.Number Average
v2.0@Customer groupfx_customer_group_namecustomer_group_nameTextNone
v2.0@Customer IDfx_customer_idcustomer_idNumeric.NumberNone
v2.0@Date and timefx_datetimePARSE_DATETIME("%Y-%m-%dT%H:%M:%E*S",Date and time _ Tag Rocket)Date & TimeNone
v2.0@Debug targetfx_debug_targetDebug target _ Tag RocketTextNone
v2.0@Effective connection typefx_effective_connection_typeEffective connection type _ Tag RocketTextNone
v2.0@Error column numberfx_error_colnoError column number _ Tag RocketTextNone
v2.0@Error filenamefx_error_filenameError filename _ Tag RocketURL.URLNone
v2.0@Error line numberfx_error_linenoError line number _ Tag RocketTextNone
v2.0@Error messagefx_error_messageError message _ Tag RocketTextNone
v2.0@Error typefx_error_typeError type _ Tag RocketTextNone
v2.0@Meta descriptionfx_meta_descriptionMeta description _ Tag RocketTextNone
v2.0@Page typefx_page_typePage type _ Tag Rocket
v2.0@Missing Pagefx_missing_page@Page type = '404'Numeric.BooleanNone
v2.0@Order statusfx_order_statusOrder status _ Tag RocketTextNone
v2.2@Page locationfx_page_locationCONCAT(‘https://’,Full page URL)URL.URLNone
v2.0@Page referrerfx_page_referrerPage referrer _ Tag RocketURL.URLNone
v2.0@Transaction IDfx_transaction_idTransaction IDTextNone
v2.0@User currencyfx_user_currency_codeuser_currency_codeTextNone
v2.0@Web Vitals distributionfx_metric_distribution
CASE
WHEN #Event name = 'LCP' THEN
CASE
WHEN @Web Vitals value <= 1 THEN "0-1"
WHEN @Web Vitals value <= 2 THEN "1-2"
WHEN @Web Vitals value <= 3 THEN "2-3"
WHEN @Web Vitals value <= 4 THEN "3-4"
WHEN @Web Vitals value <= 5 THEN "4-5"
WHEN @Web Vitals value <= 6 THEN "5-6"
WHEN @Web Vitals value <= 7 THEN "6-7"
WHEN @Web Vitals value <= 8 THEN "7-8"
WHEN @Web Vitals value <= 9 THEN "8-9"
ELSE "9+"
END
WHEN #Event name = 'FID' THEN
CASE
WHEN @Web Vitals value <= 10 THEN "000-010"
WHEN @Web Vitals value <= 25 THEN "010-025"
WHEN @Web Vitals value <= 50 THEN "025-050"
WHEN @Web Vitals value <= 75 THEN "050-075"
WHEN @Web Vitals value <= 100 THEN "075-100"
WHEN @Web Vitals value <= 300 THEN "100-300"
ELSE "300+"
END
WHEN #Event name = 'CLS' THEN
CASE
WHEN @Web Vitals value <= 0.05 THEN "0.00 - 0.05"
WHEN @Web Vitals value <= 0.1 THEN "0.05 - 0.10"
WHEN @Web Vitals value <= 0.25 THEN "0.10 - 0.25"
WHEN @Web Vitals value <= 0.5 THEN "0.25 - 0.50"
WHEN @Web Vitals value <= 1 THEN "0.50 - 1.00"
ELSE "1+"
END
ELSE "Unknown"
END
TextNone
v2.0@Web Vitals statusfx_metric_statusWeb Vitals status _ Tag RocketTextNone