Zero Copy Database Explorer connects ZMP to a Snowflake or Google BigQuery database so marketers can build audiences on data that stays in that warehouse. This page covers enabling the feature, creating the connection, and preparing tables for segmentation: mappings, column settings, a user ID, and groups. Once that setup is saved, audiences can be built in Database Explorer and used in campaigns.
To build audiences, preview results, and use them in campaigns, see Zero Copy Database Explorer.
Please get in touch with your Zeta Representative to enable this functionality for your account(s).
Connecting a Snowflake or Google BigQuery Database
1. To create a connection, navigate to Settings > Integrations > Connections.
2. Click on Create Connection.
2. Start by filling in the required fields, then select your preferred connection method from the Connection Via dropdown. Finally, enter your authentication credentials to enable secure access.
3. Once your connection is saved, you can immediately create SQL segments, but you will at least need to assign a user_id to create a segment with the Database Explorer.
Configuring a Connected Database
1. Within the Connections library, click on the action menu (three dots) next to the desired Snowflake or Google BigQuery connection and select Configure Tables & Groups from the dropdown.
-
This will direct you to a listing of all the tables and groups in your connection.
2. From the action menu (three dots) next to the group, select Configure Tables.
-
Review the list of tables available within the group.
Note that it can take a few minutes for all tables to populate after you first create the connection.
3. Locate the table you want to configure, click its action menu (three dots), and select Edit Mappings.
4. Create or update table mappings to define how tables are joined for segmentation.
Edit Mappings
Select your source table, and from its action menu (three dots), select Table Mappings. Within the Mappings page, click on Add Mapping to create a new join.
1. From the Edit Mappings page, select the destination table from the Table 2 dropdown.
2. Select the desired Join Type.
3. Choose the column from Table 1 and the corresponding column from Table 2 that will be used for the first join condition.
4. Click Add Join Condition.
5. Select an additional pair of matching columns from Table 1 and Table 2.
-
6. Repeat this process to add as many join conditions as required for the mapping.
7. Review all configured join conditions to ensure they accurately define the relationship between the two tables.
8. Click Save Mappings to save your changes.
Tip: Use multiple join conditions when a single field is not sufficient to uniquely identify matching records between tables. For example, you may join records using both an Account ID and a Region field to ensure more precise matching.
Please note that segmentation is available for single tables without any configuration, but only one table may be targeted at a time unless the mappings (joins) are configured here.
Edit Columns
Click on the action menu (three dots) against the table that contains your users and select Configure Columns.
-
Turn on Set as User ID for the column that uniquely identifies users.
-
Enable or disable columns for Targeting and Personalization.
-
Add column aliases to simplify field names.
-
Configure the Type of each column using the Type dropdown.
For date-based fields, the Type dropdown includes:
-
Date – Standard date field.
-
Repeat date every year – For recurring annual dates such as birthdays and anniversaries.
-
Repeat date every month – For recurring monthly dates such as billing or renewal dates.
Selecting a recurring date type allows Database Explorer to correctly evaluate recurring rules and campaigns, such as birthday audiences using conditions like birthdate = currentdate().
Note: Use recurring date types only for fields that should be evaluated repeatedly over time. Standard date fields will continue to be evaluated as fixed dates.
About
Selecting About from the action menu (three dots) dropdown will display the panel containing information about the specific table.
-
We can add an alias to make the segmentation easier. For example, instead of seeing
demo_db.external_schema.users.email, we would seeusers.email.
Refresh Table
Selecting Refresh Table from the action menu (three dots) dropdown will allow us to manually refresh the connected table to add/remove columns if the table has been updated. This process happens periodically but can be refreshed manually as well if needed.
Creating Groups
Click the Create Group button, then choose the tables you'd like to include in the new group from the list.
Editing Groups
From the action menu next to a group, select Edit Group from the drop-down list.
-
Make updates to the Group Name, Description, or table selections and click on Save Group.