Before you begin a GA4 ecommerce migration (gtag.js)

This document provides an overview of the options available to migrate your Universal Analytics (UA) ecommerce implementation to a comparable Google Analytics 4 (GA4) ecommerce implementation when using gtag.js.

Things to know

Event compatibility and translation between UA and GA4

To simplify the migration to Google Analytics 4, gtag.js can automatically translate GA4 events sent to a UA property and vice versa. However, not all events and parameters can be translated so it's important you review the behavior, incompatibilities and trade-offs you may have to make when relying on automatic translation.

Read the Event compatibility reference.

Selecting a migration option

Google Analytics 4 is the future of Google Analytics. It is recommended to migrate your implementation to send GA4 ecommerce events to ensure you can take advantage of all Google Analytics features in the long-term.

The primary considerations when selecting an option are as follows:

  • The importance of having no changes to your existing Universal Analytics data collection and ecommerce reports.
  • The amount of implementation work you're willing to do now vs in the future to fully adopt GA4 for the long-term.
  • Whether it's important for you to have a fully implemented Google Analytics 4 property (i.e. moving from UA events to GA4 events) in the short-term.

Migration options based on outcome

Use the following table to identify the most appropriate migration guide based on your desired outcome:

Outcome Key Pro/Con Why choose this?
Send UA ecommerce events

Use your existing UA implementation to send data to GA4.
Pro: Easy implementation and no change to ecommerce data collected and reported for UA.

Con: Incomplete GA4 ecommerce reports since some UA ecommerce events are not recognized in GA4.
You want to start using GA4 but are not ready to fully transition for the long-term and you need to keep your existing UA implementation unchanged. This allows you to use your existing gtag.js implementation to send events to your GA4 property.
Send GA4 ecommerce events

Implement and send GA4 events to your existing UA property and a new GA4 property.
Pro: GA4 ecommerce reports will be complete and you're ready for the long-term.

Con: Requires you to transition your UA events to GA4 events and you'll have incomplete UA ecommerce reports since some GA4 ecommerce events are not recognized in UA.
You want to transition to GA4 for the long-term but want your UA property to continue to receive data. This allows you to use a single gtag.js GA4 implementation to also send events to your UA property.
Send UA and GA4 ecommerce events

Implement GA4 events for a new GA4 property and keep your existing UA ecommerce implementation unchanged. Separate ecommerce events are sent to both the UA and GA4 property.
Pro: No change to your existing UA implementation and you'll have complete ecommerce reports for both GA4 and UA.

Con: Requires you to implement GA4 events and maintain separate GA4 ecommerce events alongside your existing UA ecommerce events. Potential negative impact to page performance since you are sending duplicate data for every event.
You're ready to fully adopt GA4 ecommerce but have a requirement to leave your UA implementation untouched. You are willing to accept potential impacts to page performance.