Geographic data residency

Enable region-specific data pipelines in RudderStack.

With RudderStack’s geographic data residency feature, you can:

  • Ensure user events are received, temporarily stored, and processed within the geographic region they originated (for example, US or EU).
  • Ensure any derived data (for example, reporting data, live events, etc.) is also in compliance.
info

Note that:

  • This feature is fully compliant with the data retention options you have configured for your workspace.
  • Make sure to see Scope before using the feature.

Set up geographic data residency

Contact your customer success team to enable data residency support for your organization.

success
Your default region will be configured based on your organization’s location.

Once the feature is enabled, go to Settings > Data Management in your RudderStack Cloud dashboard and scroll down to the Data residency section to view all the enabled regions for the workspace.

Data residency option in RudderStack dashboard

You can also view the region-specific data plane URLs in the dashboard’s home page.

Data plane URLs for different regions in RudderStack dashboard

Source configuration

The data residency feature supports the following Event Stream sources:

Cloud apps setup

Refer to the Getting started section of the respective cloud app source documentation (for example, Iterable) for the detailed steps.

info
Use the data plane URL of the region where you want to send the data.

SDK setup

RudderStack provides the following load options/API for the JavaScript, Android, and iOS SDKs:

SDKLoad option/API
JavaScriptresidencyServer
Android and iOSwithDataResidencyServer
info
RudderStack automatically determines the data plane URL for the selected region based on the value set for the above load option/API.

JavaScript

Load your JavaScript SDK as follows:

rudderanalytics.load(WRITE_KEY, {
  residencyServer: "US", // To send the data to the US region
  // other load options
});

Replace WRITE_KEY in the above snippet with the source write keyThe write key (or source write key) is a unique identifier for your source. RudderStack uses this key to send events from a source to the specified destination. from the dashboard.

Set the residencyServer parameter to US or EU, depending on where you want to send the data.

Android

Initialize your Android SDK as follows:

RudderClient.getInstance(
    this,
    WRITE_KEY,
    RudderConfig.Builder()
        .withDataResidencyServer(RudderDataResidencyServer.US) // To send data to US
        .build()
)

Replace WRITE_KEY in the above snippet with the source write keyThe write key (or source write key) is a unique identifier for your source. RudderStack uses this key to send events from a source to the specified destination. from the dashboard.

You can pass the following arguments in the withDataResidencyServer API depending on where you want to send the data:

  • RudderDataResidencyServer.US (Default)
  • RudderDataResidencyServer.EU

iOS

Initialize your iOS SDK as follows:

Flutter

Starting from v2.4.0, the RudderStack Flutter SDK supports the data residency feature across all three platforms (web, Android, and iOS).

Initialize your Flutter SDK as follows:

import 'package:rudder_sdk_flutter/RudderController.dart';
import 'package:rudder_sdk_flutter_platform_interface/platform.dart';

RudderConfigBuilder builder = RudderConfigBuilder();
builder.withDataResidencyServer(DataResidencyServer.US);
rudderClient.initialize(WRITE_KEY, config: builder.build());

Replace <WRITE_KEY> in the above snippet with the source write keyThe write key (or source write key) is a unique identifier for your source. RudderStack uses this key to send events from a source to the specified destination. from the dashboard.

RudderStack accepts the following arguments for the withDataResidencyServer method:

  • DataResidencyServer.US (Default)
  • DataResidencyServer.EU

Configure a new destination region

info
RudderStack supports multi-region configuration for warehouse destinations.

The default region receives all the events unless you configure another region during the warehouse destination setup. To do so, follow these steps:

  1. Set up your RudderStack source.
  2. Choose your preferred warehouse destination. Assign a name to it and select the above source.
warning
The Destination region setting is greyed out until you finish the setup for the default region. You will be able to add additional region configurations only after the default region is configured.
  1. Once you complete the setup, go to the destination’s Configuration tab. To add a new region, click Add a new region.
Add new region option
  1. Configure the destination settings for the new region.
warning
To send the events to a particular region, make sure to add the region-specific data plane URL in your source configuration. For more information, refer to this FAQ.

Delete a destination region

To remove a destination region, go to the Settings tab of your warehouse destination and scroll down to Destination Regions. You can delete the previously configured region here.

Delete residency region
warning
You cannot delete your destination’s default region configuration.

Once deleted, RudderStack will stop sending events to the destination configured for this region.

View event metrics by region

To view the event metrics by region, go to the Events tab of your source or destination.

Event metrics by region

To view the sync-related metrics by region, go to the Syncs tab of your destination.

Event metrics by region

To view the live events by region, go to the Live Events tab of your source or destination and filter the region.

Source live events by region
success
You can also view the transformation live events and filter them by region.

Scope

FAQ

What is the default region for my RudderStack workspace?

RudderStack sets the default region for your workspace based on your organization’s location. For example, if your organization is based in the US, your default region will be set to United States.

If my default region is set to US, can I send events only to the EU region?

Yes, it is possible to send events only to a specific region. Follow these steps:

  1. Set up your SDK source and provide the EU-specific inputs in the load option/API. For cloud apps, use the data plane URL for the EU region.
  2. Configure a new destination region for the EU region.


Questions? Contact us by email or on Slack