This article covers the following:
- Overview
-
Enable the Integration
- Step 1: Create a Service Account for Your BQ Data
- Step 2: Create a Custom Role with Required Permissions
- Step 3: Assign the Custom Role to Your Service Account
- Step 4: Create BigQuery Datasets and Assign Permissions
- Step 6: Add an Attribute List from BigQuery
- Step 7: Use BigQuery Lists for Campaign Targeting
Overview
Integrating your Wingify account with BigQuery (BQ) allows you to leverage data stored in your BigQuery tables for pre-segmentation targeting in Wingify campaigns. By importing specific lists of user identifiers (like UUIDs, etc.) from BigQuery into Wingify, you can precisely target your Wingify Testing or Personalization campaigns to visitors whose identifiers are present in those lists.
Enable the Integration
Enabling this integration is a multi-step process:
Step 1: Create a Service Account for your BQ Data
- Log in to your Google Cloud account and select the project containing the BigQuery data you want to use for your Wingify campaign.
-
From the main menu panel on the left, go to IAM & Admin > Service Accounts.
The Service Accounts page appears.
- Click on the Create service account, enter the service account name and account ID and click Create and Continue.
- You can skip the next steps and click on Done to save your changes. Upon successful creation, the new service account will be listed on the Service Accounts page.
- Now, click on the newly created service account and go to the Keys tab.
-
Click Add Key > Create New Key, select JSON as the key type option, and click Create. The service JSON file will start downloading in your browser. Keep this file secure as you will need it later.
Step 2: Create a Custom Role with Required Permissions
- In the Google Cloud console, go to IAM & Admin > Roles.
- Click Create Role and enter the following details:
- Title: VWO Custom Role
- ID: vwo_custom_role
- Stage: General Availability (GA)
- Under Permissions, click Add Permissions and search for the permission bigquery.jobs.create.
-
Click Add and then Create to save the role.
Step 3: Assign the Custom Role to your Service Account
- Go to IAM & Admin > IAM.
- Click Add and enter the email ID of the service account created earlier.
-
Under Role, select VWO Custom Role (created in Step 2) and click Save.
Step 4: Create BigQuery Datasets and Assign Permissions
- In the Google Cloud console, go to BigQuery.
- Choose the dataset from which you want to pull data.
- Go to the dataset permissions, click Add Principal, and assign the following roles to your service account:
- BigQuery User
- BigQuery Data Editor
Step 5: Create a BigQuery Connection in Wingify
Wingify supports the following BigQuery connection types:
- Export data to BigQuery (Connector): Allows you to export raw Wingify campaign data to BigQuery.
- Import Lists from BigQuery (Targeting): Allows you to target visitors in Wingify using BigQuery Lists.
To create a BigQuery connection in your Wingify account:
- Log in to your Wingify account.
- From the left panel, navigate to Configurations > Integrations.
- Click the BigQuery integration tile and click Create Connection.
- Select Import Lists from BigQuery.
- In the Create Connection form, enter a name in the Connection Name field (for example, "Segment Connector").
- Enter the details in the following fields:
- Project ID: Specify the Google Cloud Project ID where the required BigQuery dataset is present.
- Service Account Key JSON: Paste the content of the service account JSON file.
- Dataset ID: Specify the ID of your selected BigQuery dataset.
- Click Create Connection.
Once the connection is established, you can seamlessly import your BigQuery data into Wingify.
Note: Only a single column of values can be imported, and these values must be identifiers available in the browser, such as a JavaScript variable, a cookie value, or any other accessible format.
Step 6: Add an Attribute List from BigQuery
After enabling data pull, you need to define which lists to import:
- On the BigQuery Config tab (after saving the Pull data setting), scroll down to the Attributes lists added to VWO BigQuery section.
- Click + Add attributes list from BigQuery. An Add Attributes List modal will appear.
- Enter the following details:
- Name the attributes list: Give a descriptive name that you will recognize later when setting up campaign targeting (e.g., "High Value User IDs", "DemoUUID").
- Select table: Choose the BigQuery table (from your configured dataset) that contains the user identifiers. Wingify will load the available tables.
- Select column: Choose the specific column within the selected table that holds the user identifiers (e.g., uuid, email, customer_id). Wingify will load the columns for the selected table.
- Click Add. The newly created list will appear in the Attributes lists added to VWO BigQuery section. Its Sync status will likely show Sync in progress initially. VWO will periodically fetch the data from the specified BigQuery column and update this list.
Note: Wingify syncs data from BigQuery every 24 hours.
Step 7: Use BigQuery Lists for Campaign Targeting
Once an attribute list is created and has synced successfully, you can use it in Wingify campaign targeting:
- Log in to your Wingify account.
- Go to Web Experimentation and select your campaign.
- On the Configuration page, go to Targeting. Under Segments, select Custom Segment and create a segment using the identifier stored in your BigQuery list (for example, if your list contains UUIDs and you push the user's UUID into a JS variable named
uuidon your site, select JavaScript Variable). - Enter the name of the variable (e.g., user_id).
- Select the operator In list.
- Click the value dropdown. You should see the Attributes List category, which contains the names of the lists you created in BigQuery (e.g., "Paid Users").
- Select the desired attribute list name (e.g., "Paid Users").
- To add multiple conditions, click Add another condition. You can also define the logical relationship between conditions using the And/Or operators and use brackets to organize the segment condition.
- Click Save Segment.
- In the pop-up that appears, enter the name of the segment, optionally add a description, and click Save.
- Click Apply to apply the segment to the campaign.
The Wingify campaign will now only target visitors whose identifier (available in the specified JS variable in this example) matches an entry in the synced list pulled from BigQuery.
Need more help?
For more information or further assistance, contact Wingify Support.