[UA→GA4] Destination goals

Use the goals migration tool to automatically replicate most event and destination goals from your Universal Analytics property in your new Google Analytics 4 property.  

In Universal Analytics, you can record a destination goal when a user lands on a specified page. A typical example of a destination goal is a "thank you" or "confirmation" page following a form submission.


Example of a destination goal in Universal Analytics. Records when the Page dimension equals "/contact-us-submitted.html.

As noted in Google Analytics 4 key events basics, Google Analytics 4 (GA4) properties don't send pageview hits. Instead, when a user visits a page on your website, GA4 sends a page_view event (or if the user was on your app, a screen_view event). The event has parameters that indicate the URL, page title, and so on.

To generate a key event for a specific pageview, you can take one of the following two approaches.

Option 1: Create a new key event via the user interface

As noted in Key events in Google Analytics 4, you can’t define a GA4 key event based on parameters other than event_name. The challenge for defining a key event based on a specific pageview is that every pageview is recorded with the same event name: page_view. If you mark the default page_view event as a key event, every pageview on your site will be counted as a key event.

The solution is to create a new event via the user interface that's triggered when the page_view event occurs on the desired page:

  1. In Admin under Data display, click Events, then click Create event.
  2. Choose a data stream.
  3. Click Create, then in the Create event panel:
    1. Enter a name for the new event.
      Use one of the recommended events if you can. For example, submitting a "contact us" form could use the generate_lead event name.
    2. For the first matching condition, specify event_name - equals - page_view
    3. For the second matching condition, specify a page_location (or potentially a page_title), such as page_location - equals - https://www.example.com/contact-us-submitted.
    4. If you want to copy a goal value from Universal Analytics, click the Add modification button and enter the Parameter value and for the New Value enter the value you used in the Universal Analytics goal (e.g. "10").
  4. Return to Admin, then under Property, click Key events.
  5. Click New key event.
  6. As the event name, enter the event configured in steps 1-4, for example, generate_lead.

While you cannot directly create a parameterized key event, you can use the Event Modification to create a new (admin-level) key event based on event name and one or more additional event parameters.

Option 2: Send a key event-specific event from your site code

If you can edit your site code or Tag Manager configuration, you can send an event whose only purpose is to indicate that a key event has occurred:

  1. On the /contact-us-submitted page, update your gtag code or configure Google Tag Manager to directly send a generate_lead event.
  2. Mark the generate_lead event as a key event, as outlined in steps 4-6 in the preceding procedure.

Virtual pageviews

Sometimes, you might want to record a page_view event even if a physical page load has not occurred, as can be the case for sites built with SPA (single-page application) or PWA (progressive web app) architectures, or for specific AJAX-like flows in your web experience.

Let’s say that your web developers have built a four-screen checkout experience to render in the browser without interceding page loads. In that case, only the first screen of the checkout process requires a physical page load and generates a Google Analytics pageview by default.

If a pageview is not generated by default for steps 2-4, how can you build a funnel and record a key event in Google Analytics?

In Universal Analytics, you can generate a "virtual pageview." Use your own gtag scripting or tags and triggers in Google Tag Manager to send the screen refresh as a pageview. You can also override the URL in the Page dimension to be whatever value you want (for example, /checkout-2, /checkout-3, and so on).

In GA4, you can take the same approach. The difference is you'll track a page_view event, that is, an event with page_view (or a different name, such as virtual_page_view) as the event name, and specify your own page_location parameter (https://www.example.com/checkout-2, https://www.example.com/checkout-3, and so on). It’s also a good idea to include a meaningful page_title parameter, which appears by default in some Google Analytics reports and explorations (for example, the path exploration), instead of the page_location parameter.

You can then create an event via the user interface as described above to generate a new event - for example, checkout_completed -- for the final step of the checkout process.

You can also take the alternative approach outlined above: directly generate a checkout_completed event through gtag or Google Tag Manager on the final checkout step.

Finally, mark your checkout_completed event as a key event.

Was this helpful?

How can we improve it?
Clear search
Close search
Google apps
Main menu