How To Send Data From Amazon S3 to Google Analytics 4

If you're looking to streamline your data processing and analysis, integrating Amazon S3 with Google Analytics 4 is an excellent option. This process allows you to transport your data from S3 to Google Analytics 4, so you can analyze and explore it within the analytics platform. This guide will walk you through the process of setting up your accounts, formatting your data, connecting Amazon S3 to Google Analytics 4, and more.

Understanding Amazon S3 and Google Analytics 4

What is Amazon S3?

Amazon S3 is a cloud-based object storage service offered by Amazon Web Services (AWS). It is one of the most popular cloud storage services available today. S3 enables users to store and retrieve data from anywhere at any time, making it a highly flexible and accessible storage solution.

One of the key features of Amazon S3 is that it is designed for businesses of all sizes. Whether you are a small startup or a large enterprise, S3 provides a reliable and highly-scalable storage solution for any data type. With S3, you can store and access any amount of data, from a few gigabytes to petabytes and beyond.

Another advantage of Amazon S3 is its security features. S3 provides robust security and compliance capabilities that meet even the most stringent regulatory requirements. You can use S3 to encrypt and secure your data, control access to your data, and monitor your data for any unauthorized access or changes.

What is Google Analytics 4?

Google Analytics 4 is the latest version of Google's analytics platform. It provides a more comprehensive approach to data analytics and tracking, allowing businesses to gain deeper insights into their customers' behavior. GA4 simplifies the data analysis process by automatically organizing data into pre-built reports, providing real-time analytics, and enabling the creation of custom metrics.

One of the key benefits of Google Analytics 4 is that it provides a more holistic view of customer behavior. GA4 combines data from multiple sources, including your website, mobile apps, and other digital channels, to give you a complete picture of how customers interact with your brand. This can help you identify trends, optimize your marketing campaigns, and improve your overall customer experience.

Another advantage of Google Analytics 4 is its machine learning capabilities. GA4 uses advanced machine learning algorithms to analyze your data and provide insights that would be difficult or impossible to uncover with traditional analytics tools. For example, GA4 can help you predict which customers are most likely to convert, which products are most likely to sell, and which marketing campaigns are most likely to succeed.

Amazon S3 and Google Analytics 4 are two powerful SaaS tools that can help businesses store and analyze their data. Whether you need a reliable and scalable storage solution or a comprehensive analytics platform, these tools can provide the features and capabilities you need to succeed in today's digital world.

Setting up your Amazon S3 account

Amazon S3, or Simple Storage Service, is a cloud-based storage solution that allows you to store and retrieve data from anywhere on the web. With Amazon S3, you can store and retrieve any amount of data, at any time, from anywhere on the web. In this guide, we'll walk you through the process of setting up your Amazon S3 account.

Creating an AWS account

To use Amazon S3, you need to have an AWS account. AWS, or Amazon Web Services, is a cloud computing platform that provides a wide range of services, including Amazon S3. If you don't already have an AWS account, you can create one by following these steps:

  1. Go to the AWS homepage and click on the "Create an AWS Account" button. This will take you to the AWS sign-up page.
  2. Follow the prompts to create your account. You'll need to provide your name, email address, and password.
  3. Verify your account by entering the code sent to your email address. Once you've verified your account, you're ready to start using Amazon S3.

Configuring your S3 bucket

Once you have an AWS account, you'll need to set up your S3 bucket which will be the data source for this data pipeline. And the point by which we will ingest the data. You will use this to store the data that you want to send to GA4. To do this, follow these steps:

  1. Go to the S3 console. The S3 console is where you'll manage your S3 buckets and objects.
  2. Click on the "Create Bucket" button. This will open the "Create Bucket" wizard.
  3. Enter a name for the bucket. Bucket names must be unique across all of Amazon S3, so choose a name that is unique and easy to remember.
  4. Choose a region where you want to store your data. Amazon S3 stores your data in regions, which are separate geographic locations. Choose a region that is closest to your users to minimize latency.
  5. Set up the bucket permissions and properties. You can choose to make your bucket public or private, set up access control lists, and configure other properties such as versioning and logging.
  6. Create the bucket. Once you've configured your bucket, click the "Create" button to create your bucket.
  7. Upload your data to the bucket. You can upload data to your bucket using the S3 console, the AWS CLI, or the AWS SDKs. Once your data is uploaded, you can access it from anywhere on the web.

Now that you've set up your Amazon S3 account and created your S3 bucket, you're ready to start using Amazon S3 to store and retrieve your data. With Amazon S3, you can store any amount of data, at any time, from anywhere on the web.

Setting up your Google Analytics 4 account

Next, we'll walk you through the steps to set up your GA4 account and configure your property.

Creating a Google Analytics account

If you haven't already, you'll need to create a Google Analytics account to get started with GA4. Here are the steps:

  1. Go to the Google Analytics homepage.
  2. Sign in with your Google account. If you don't have a Google account, you can create one for free.
  3. After authentication, click on the "Create a property" button.
  4. Enter a name for your property. This could be the name of your website or business.
  5. Select your industry and time zone. This information will help Google Analytics provide you with more accurate data.
  6. Click "Create" to finish setting up your account.

Once you've completed these steps, you'll have a Google Analytics account that you can use to track and analyze your website traffic.

Configuring your GA4 property

Now that you have a Google Analytics account, you'll need to set up a property in GA4 to store your data. Here's how to do it:

  1. Open your GA4 account and go to the "Admin" section.
  2. Click on "Create Property."
  3. Enter a name for your property. This should be a descriptive name that helps you identify the data you're collecting.
  4. Select the data streams that you want to collect data from. Data streams are sources of data, such as websites, mobile apps, or other digital properties.
  5. Choose the data-sharing settings for your property. You can choose to share your data with Google and other companies to get more insights and improve your analytics.
  6. Click "Create" to set up your GA4 property.

Once you've completed these steps, you'll have a GA4 property that's ready to start collecting data. You can use this data to gain insights into your website traffic, user behavior, and more. With GA4, you can track events, set up conversion tracking, and even create custom reports to analyze your data in more detail.

Preparing your data for transfer

Formatting your data for GA4

Before you can send your data from Amazon S3 to GA4, you need to ensure that the data is formatted correctly. GA4 requires data to be in JSON format.

To format your data for GA4, follow these steps:

  1. Export your data from S3 in CSV or TSV format.
  2. Use a tool like Retool to convert your data to JSON format.

Validating your data

Once you've formatted your data, you need to validate it to ensure that it meets GA4's requirements. To do this, you can use the GA4 Event Builder tool.

Here's how to use the GA4 Measurement Protocol Event Builder to validate your data:

  1. Go to the GA4 Measurement Protocol Event Builder page.
  2. Under ‘Validate Event’, enter an example of the parameter of your events.
  3. Click on Validate and review the displayed JSON schema.
  4. Make sure the resulting JSON matches the schema of the code you generated in the above step and meets the GA4 requirements.

Connecting Amazon S3 to Google Analytics 4

First method: using the data import method

This is a manual method that requires the data to be in CSV format, if using this method you can skip the method in the previous step that converts the data from CSV to JSON using Google Analytics.

In the GA4 property settings, navigate to ‘Data Import’, from there you can select the type of data that you’d want to import from Amazon S3. Next, you will need to upload the CSV dataset manually into GA4. Once that is done GA4 will join the imported data with the analytics data and start generating analytics reports.

Check out this article to learn more about the different types of data you can import from S3 data into GA4 using this method.

Second method: using AWS Lambda functions

Another way to connect Amazon S3 with Google Analytics 4 is by using AWS Lambda functions. Choose this solution if you want to automate the process of sending the data from S3 to GA4.

AWS Lambda is a serverless computing service provided by Amazon Web Services (AWS). It allows you to run your code without provisioning or managing servers. With Lambda, you can focus on writing your application logic while AWS takes care of the underlying infrastructure, including scaling, patching, and monitoring.

AWS has an array of different connectors that seamlessly integrates with various AWS services like S3, Athena, etc. with support for a range of different languages like Python, Node.js, Java, C#, Ruby, Go, and PowerShell.

To set up AWS Lambda for your S3 bucket, follow these steps:

1. Create a Lambda function in AWS.

2. Make sure to configure a permissions policy and execution role in IAM to ensure that your data can be accessed securely by AWS Lambda.

3. Write code to read in your S3 bucket data and format it in JSON format.

4. Configure the code to send data to the google analytics API for GA4: The Measurement Protocol

import boto3
import requests
import json
def lambda_handler(event, context):
# Retrieve the S3 bucket and key from the event
s3_bucket = event['Records'][0]['s3']['bucket']['name']
s3_key = event['Records'][0]['s3']['object']['key']
# Retrieve the JSON file from S3
s3 = boto3.client('s3')
response = s3.get_object(Bucket=s3_bucket, Key=s3_key)
json_data = json.loads(response['Body'].read().decode('utf-8'))
# Extract relevant data from the JSON file
# Replace 'YOUR_MEASUREMENT_ID' with your GA4 Measurement ID
measurement_id = 'YOUR_MEASUREMENT_ID'
client_id = json_data.get('client_id')
event_name = json_data.get('event_name')
# Make a call to the Measurement Protocol API
url = f'{measurement_id}'
payload = {
'v': '2',
'tid': measurement_id,
'cid': client_id,
'en': event_name
response =, data=payload)
# Log the response
# Return a response
return {
'statusCode': 200,
'body': 'Measurement sent to GA4 successfully.'

In this example, the Lambda function is triggered by an event containing information about the S3 object creation. It retrieves the JSON file from S3, extracts the relevant data (e.g., client_id and event_name), and makes a POST request to the Measurement Protocol API endpoint, passing the required parameters (tid, cid, en).

Make sure to replace 'YOUR_MEASUREMENT_ID' with your actual GA4 Measurement ID. Also, ensure that your Lambda function has the necessary IAM permissions to access the S3 bucket and make HTTP requests to the Measurement Protocol API.

Note: a list of open-source samples for running serverless applications can be found in this GitHub repo.

5. Test the Lambda function by uploading a JSON file with the structure we built using the Eventbuilder in the data validation step, then head to your GA4 Real-time dashboard and verify that the event is showing up in the reports.


Integrating Amazon S3 with Google Analytics 4 enables businesses to streamline their data analysis and processing, providing a more comprehensive approach to data analytics and tracking. By following the steps outlined in this guide, you can set up your accounts, format your data, connect Amazon S3 to Google Analytics 4, and more.

Whether you choose to use AWS Lambda, Data Import, or another method, the key is to ensure that your data is transferred securely and meets GA4's requirements. With the right setup, you can gain valuable insights into your customers' behavior and improve your business performance. Check out RudderStack's Amazon S3 to Google Analytics 4 integration.

Don't want to go through the pain of direct integration? RudderStack's Reverse ETL connection makes it easy to send data from your Amazon S3 Data Warehouse to Google Analytics.