How to Migrate Historical Data from UA to Google Analytics 4

Cody Schneider8 min read

Universal Analytics officially stopped processing new data on July 1, 2023, but the data you spent years collecting doesn’t have to disappear. Although you can’t import that history directly into Google Analytics 4, you can export and preserve it to provide critical context for your future reporting. This guide will walk you through exactly how to save your historical Universal Analytics data and combine it with your new GA4 data for seamless year-over-year analysis.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Why You Can't "Migrate" UA Data Directly into GA4

The first and most important thing to understand is that Universal Analytics (UA) and Google Analytics 4 measure data in fundamentally different ways. Pushing your old UA data directly into your new GA4 property is impossible because the underlying data models are incompatible.

  • Universal Analytics used a session-based model. It grouped user interactions (like pageviews, events, and transactions) into "sessions." Metrics like Bounce Rate and Average Session Duration were central to this model.
  • GA4 uses an event-based model. It treats every single interaction - from a page view to a scroll to a click - as a distinct event. Sessions still exist in GA4, but they are calculated differently and are no longer the primary focus.

Think of it like trying to store apples (UA) in a container designed specifically for oranges. You can't just pour them in and expect it to work. Instead, the goal of "migration" is to export your historical UA data, store it somewhere safe and accessible, and then blend it with your fresh GA4 data in your reporting tools.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

What Historical Data Should You Prioritize Saving?

You probably don’t need every single custom report you ever created in UA. Before you start exporting, take a moment to identify the data that provides the most value for your business. This will save you from getting buried in non-essential spreadsheets. Here's a checklist of core reports and metrics that are worth preserving for year-over-year comparisons.

Key Metrics and Dimensions to Export:

  • Audience Metrics: Users, New Users, Sessions. These are your foundational traffic metrics.
  • Acquisition Reports: You absolutely need to know where your traffic came from. Prioritize exporting your Traffic acquisition > Source/Medium and All Traffic > Channels reports. If you ran paid media, save your specific campaign data as well (Acquisition > Campaigns > All Campaigns).
  • Behavior Reports: Understanding what content resonated with your audience is critical. Be sure to export Behavior > Site Content > All Pages (your top pages report) and Landing Pages.
  • Conversion Reports: This is a must. Export your goal completion data (Conversions > Goals > Overview) and, for e-commerce sites, your transaction and revenue data (Conversions > Ecommerce > Overview).
  • Demographics & Geographic Data: Understanding your audience location (Audience > Geo > Location), age, and gender can provide valuable context for historical trends.

Focus on getting clean, high-level data for these key areas. You can choose a broad date range (e.g., the last 3-5 years) to create a comprehensive historical archive.

Step-by-Step Methods for Exporting Your Universal Analytics Data

Now that you know what to save, here’s how to get it out of Universal Analytics. We'll cover three common methods, from simple and manual to automated and advanced.

Method 1: Manual Export from the UA Interface (The Quick & Easy Way)

This is the most straightforward method, perfect for saving a handful of specific reports without any technical setup. However, it's very manual and time-consuming if you need to export a lot of data.

  1. Navigate to the Report: Log into your Universal Analytics account and go to the specific report you want to save (e.g., Acquisition > All Traffic > Source/Medium).
  2. Set the Date Range: In the top-right corner, select your desired date range. To get a complete history, you might set the start date to when your tracking began and the end date to June 30, 2023.
  3. Increase Row Display: By default, UA reports only show 10 rows. At the bottom-right of the table, use the "Show rows" dropdown to select the maximum possible (5,000). Be aware that if your report contains more than 5,000 rows, you will need to export it in multiple chunks.
  4. Click "Export": In the top-right corner of the dashboard module (just below the date range), you'll see an "EXPORT" button. Click it.
  5. Choose Your Format: You can export to Google Sheets, Excel (XLSX), or CSV. Google Sheets is often the most convenient option for easy storage and sharing.

Repeat this process for every key report on your priority list. It's tedious, but effective for smaller websites with simpler data needs.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Method 2: Using the Google Analytics Spreadsheet Add-on (The Automated Approach)

If you're comfortable with Google Sheets, this method offers a more efficient way to pull your UA data without the row limits and repetitive clicking. It uses the Google Analytics API directly within a spreadsheet.

  1. Install the Add-on: Open a new Google Sheet. Go to Extensions > Add-ons > Get add-ons. Search for "Google Analytics" and install the official add-on from Google.
  2. Create a New Report: Once installed, go to Extensions > Google Analytics > Create new report. A sidebar will open. Name your report and select the UA View you want to pull data from.
  3. Configure Your Report: This is where you'll tell the add-on what data to fetch. You'll select your Metrics (e.g., ga:sessions, ga:users, ga:transactions) and Dimensions (e.g., ga:date, ga:sourceMedium, ga:landingPagePath). You can find a full list of valid API names in Google's Dimensions & Metrics Explorer.
  4. Run or Schedule the Report: After configuring, click "Create Report." A new tab called "Report Configuration" will appear. You can now run the report manually from Extensions > Google Analytics > Run reports. You can even schedule it to refresh automatically, though that’s less relevant for historical data.

This method has a slight learning curve but is far more powerful and scalable than manual exports for preserving comprehensive historical trends.

Method 3: BigQuery Export (The Gold Standard)

If you were a Google Analytics 360 customer, you hopefully had the native BigQuery integration enabled. BigQuery is Google's cloud data warehouse, and this integration automatically exported raw, unsampled event-level data from your UA property. This is the most complete and granular dataset you can have.

If you had this enabled, your historical UA data is already safely stored in BigQuery. From there, you can query it with SQL, connect it to advanced data visualization tools like Tableau or Power BI, or use it for custom data modeling.

Using Your Historical Data for Year-over-Year Reporting

Your exported UA data isn't meant to sit in a folder and collect digital dust. Its primary value is providing a baseline for year-over-year (YoY) analysis. The best way to do this is by connecting both your old UA data and your new GA4 data to a reporting dashboard.

Looker Studio (formerly Google Data Studio) is an excellent free tool for this. You can create charts that seamlessly blend your historical UA data with your current GA4 data.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

How to Blend Data in Looker Studio:

  1. Add Your Data Sources: In a new Looker Studio report, add at least two data sources:
  2. Create a Blend: Select a chart (e.g., a time series chart). In the 'Data Source' section of the setup panel, click "Blend data."
  3. Join the Data: For the join key, you'll use the 'Date' dimension from both sources. Your primary UA table will cover dates up to June 30, 2023, and your GA4 table will cover all dates after that. Combine the metrics you want to analyze, renaming them for clarity if needed (e.g., ua_sessions and ga4_sessions).
  4. Visualize the Unified Trend: You can then create calculated fields to merge the metrics. For example, you can create a new metric called "Total Sessions" that shows UA sessions before the cutoff and GA4 sessions after a certain date. This allows you to build a single chart that shows a continuous trend line of your traffic across the UA-to-GA4 switch.

This unified view is crucial for avoiding data black holes and making informed decisions based on a complete history of your website's performance.

Final Thoughts

While you can't push your Universal Analytics history into GA4, exporting your priority reports guarantees you won't lose years of valuable performance data. By storing a clean archive in Google Sheets or BigQuery and then blending it with your live GA4 data in a dashboard, you can maintain the long-term context needed for strategic year-over-year reporting.

Manually pulling historical reports, cleaning them up, and then trying to stitch them together with live data from GA4, Google Ads, and other marketing platforms is exactly the kind of repetitive, time-consuming work we built Graphed to eliminate. We help you connect all your live data sources with one click. Then, you can simply have a conversation with our AI data analyst to build real-time dashboards that pull in everything automatically. Want to know which campaigns are driving sales this month? Want to create a sales pipeline report for your team? Just ask in plain English, and have your dashboard ready in 30 seconds instead of 3 hours. Take Graphed for a spin and get back to analyzing your data, not just fighting with it.

Related Articles