Migrate to App + Web properties

If you have an existing page that is measured with Google Analytics, such as with analytics.js or gtag.js, and you want to start using App + Web properties, this page provides guidance on how to update your implementation to App + Web properties.

There are two major steps to migrate your code to App + Web properties:

  • If necessary, move from analytics.js to gtag.js
  • Change your event tags away from the old category/action/label/value model to the more flexible recommended events or custom events.

Migrate from analytics.js

App + Web properties do not support event measurement with analytics.js. In order to migrate from analytics.js to gtag.js, follow the classic migration guide. Read the rest of this guide to learn about how to migrate from the classic event model to the more flexible App + Web model, so that you can convert your events during the migration process.

Migrate events

Web + App property events do not use an category/action/label/value model, like classic analytics does. Instead, they are flexible enough to accept arbitrary key/value data. This means that if your page uses gtag.js, then you're already fully compatible with App + Web properties; your existing events will still work. However, to take full advantage of App + Web property reporting features, any events that use category/action/label/value should be changed to have more descriptive data keys.

For more details about event measurement in App + Web properties, see the events guide.

In most cases, your events can be converted to recommended events. A recommended event is a commonly-measured type of event that is recognized by Google Analytics that can be used for automated reports.

For example, here is an example that uses the old event/category/label model:

gtag("event", "search", {
  event_category: "Interaction",
  event_label: search_term,

For an App + Web properties implementation, there is no need to send a category and label with the event. Instead, your App + Web property event would send a search event with a search_term parameter.

gtag("event", "search", {
  search_term: search_term

See the list of recommended events for more information.

Custom events

If your event isn't available in the list of recommended events, you can instead use a custom event. Note that the only difference between a custom event and a recommended event is that recommended events have potentially richer reporting in Google Analytics. In both cases, your measurement code will include the name of the event as well as any extra parameters you want to include.

For instance, suppose you have a very customizable app and want to measure your user's changing of their app settings, to see if a new feature is commonly being turned on or off. Because you're not limited to category/action/label/value, you can include all the relevant settings:

gtag("event", "config", {
  site_mode: "dark",
  content_width: 80,
  font_kind: "serif",
  // etc etc

App + Web properties is designed to make the need to use the event/category/action/label model obsolete. When you migrate events to an App + Web properties implementation, consider the information you want to have associated with the event, and use descriptive labels for them to make your reports easier to create, browse, and understand.