Ingest your event data from Looker into RudderStack.

Looker is a popular Business Intelligence and data analytics platform that allows you to explore your data for actionable, business-oriented insights.

You can now use Looker as a data source to send enriched user activities and their associated properties over a period of time to RudderStack. RudderStack then forwards this data to your specified destinations for real-time syncing of the newly created properties and actions.

This guide will help you in setting up Looker as a source in RudderStack.

Setting up the Looker actions

After creating your views in Looker, you need to set-up the necessary Looker actions. Go to your Looker actions dashboard to do this.

While RudderStack supports teams and individual workspaces in its Enterprise edition, Looker does not allow individual Action Hub configurations for different members of the same organization.
If you want to send the output of different looks to various RudderStack sources, you will need to host custom instances of Looker Action Hub. Refer to the Looker documentation for more information.

Configuring a Looker source in RudderStack

Follow these steps to set up your Looker source in the RudderStack dashboard:

  1. Go to your RudderStack dashboard and click Add Source. From the list of Event Streams sources, select Looker.
  2. Assign a name to your source and click Continue.
  3. Your Looker source is now configured. Note the source Write key:
Looker source write key

Adding the RudderStack Action Hub Server

This section describes the steps required to enable the RudderStack actions in Looker.

RudderStack hosts a Looker Action Hub Server that communicates with your Looker instance.

You can find the RudderStack Action Hub Server at https://looker-action-hub.rudderstack.com

You will also require an Authorization Token to access the Action Hub. The token to be used is as follows:


Once you connect the Action Hub Server to your Looker instance by clicking the Add Action Hub button present at the bottom of Looker actions dashboard, you can start viewing the following three RudderStack actions:

IdentifyAdds the traits to your RudderStack users via the identify event.
GroupAdds the traits or users to your RudderStack groups via the group event.
TrackAdds the user properties for your users via the track event.
RudderStack-hosted Action Hub

Configuring the actions

  1. To enable any of the above actions, click the Settings button.
  2. Enter the Write key obtained after setting up the Looker source in RudderStack.
Looker source write key
  1. Specify the Rudder Server URL to which Looker forwards the user looks data. The URL is https://<your-dataplane-url>/v1/batch. For more information on obtaining your data plane URL, refer to the RudderStack Glossary.
Configuring the Rudder Write Key and Rudder Server URL

Once the connection is successful, you should start seeing the RudderStack actions.

RudderStack actions overview

Once configured, RudderStack actions will start sending the query results to RudderStack.

When defining the columns for the Looker models attached to the user looks that you want to send to RudderStack, it’s important to tag the user identifier column as email or user_id or rudder_anonymous_id.

Additionally, to use the RudderStack Group action, you need to tag your group identifier column as rudder_group_id.

In some specific cases, for example, Redis - the user_id field always needs to be present even if email is already present.
The other user and activity columns are sent as traits or properties along with the payload sent to RudderStack.

A sample track payload from the look’s row data sent by the RudderStack Track action is as shown:

  "userId": "test@rcomp.es",
  "anonymousId": null,
  "properties": {
    "tracks_flow.event_2": "Destination_Clicked",
    "tracks_flow.event_3": [

    "tracks_flow.event_4": [

    "tracks_flow.event_5": [

    "tracks_flow.event": "User_Logged_In"
  "event": "single",
  "context": {
    "library": {
      "name": "analytics-node",
      "version": "0.0.3"
    "app": {
      "name": "looker/actions",
      "version": "dev"
  "timestamp": "2020-06-18T08:21:01.644Z",
  "type": "track",
  "_metadata": {
    "nodeVersion": "12.13.0"
  "originalTimestamp": "2020-06-18T08:21:03.049Z",
  "messageId": "node-c33eb51666f6470bf4aa415c7431aba4-ffd5e198-05a1-477a-9c2c-85be30749b8b",
  "sentAt": "2020-06-18T08:21:03.050Z"
The column names in your looks are transformed as view name.column name in the payload sent to RudderStack. If you want to change the names as per your destination, you can do so using RudderStack’s Transformations feature.

Questions? Contact us by email or on Slack