Feature Availability
- Supported Products: Wingify Web Experimentation, Wingify Personalize, Wingify Data360
- Plan Types: This feature is available for Pro and Enterprise plans only. For more information on how to upgrade your plan, refer to Upgrading your Wingify plan.
|
This article covers the following: |
Overview
Connecting your Wingify account with Amazon Redshift enables a powerful two-way data integration, allowing you to seamlessly export and import data between the two platforms.
By streaming experiment data from Wingify into Redshift, you can centralize all your testing insights in a high-performance data warehouse built for advanced analytics. Conversely, Wingify allows you to pull data from Redshift to enrich your testing strategy by importing custom audience segments or behavioral attributes.
Before You Begin
Ensure you meet the following requirements:
- Access Levels: You must have Admin or Owner privileges in Wingify to configure integrations at the account level.
- AWS Redshift Account: An active AWS Management console login with an active AWS Redshift cluster.
- Database Permissions: A dedicated Redshift user configured with specific permissions to create schemas, grant usage, and select specific tables (detailed in the Setup section).
Create a Redshift Connection in Wingify
Wingify supports the following Redshift connection types:
- Export data to Redshift (Connector): Allows you to export raw Wingify campaign data to Redshift.
- Import Lists from Redshift (Targeting): Allows you to target visitors in Wingify using Redshift Lists.
To create a Redshift connection in your Wingify account:
- Log in to your Wingify account.
- From the left panel, navigate to Configurations > Integrations.
- Click the Redshift integration tile and click Create Connection.
- Select the type of connection you want to configure.
All configured connections appear under Config > Active Connections on the Redshift integration page.
Export Data to Redshift
Use this connection type to export raw Wingify campaign data to your Redshift data warehouse.
Step 1: Set up Redshift
- Log in to the AWS Management console and navigate to the AWS Redshift service.
- Create and activate an AWS Redshift cluster (if you do not already have one ready).
Step 2: Grant Required Permissions
You need a Redshift user with the following permissions:
- Create schemas in your database.
- Grant usage to any existing schemas you want to use.
- Grant select to the svv_table_info table.
You can create such a user by running the following SQL commands:
GRANT CREATE ON DATABASE database_name TO your_user; -- add create schema permission GRANT usage, create on schema my_schema TO your_user; -- add create table permission GRANT SELECT ON TABLE SVV_TABLE_INFO TO your_user; -- add select permission for svv_table_info
Step 3: Export data to Redshift
- Click Create Connection and select Export data to Redshift.
- In the Create Connector form, enter a name in the Connection Name field.
- Enter the remaining connection details:
Field |
Value |
| Host | Specify your Redshift Host URL. |
| Port | Specify the Port number. |
| Database Name | Enter the database name. (This must exist within the provided cluster). |
| User | Enter the username you created or granted permissions to in Step 2. |
| Password | Enter the password for the specified user. |
| Schema | Enter the schema name. |
| S3 Bucket Name | Enter your staging S3 Bucket name. |
| S3 Bucket Region |
Select the AWS region of the bucket.
Note: We recommend you place the S3 bucket and Redshift cluster in the same region.
|
| S3 Access Key |
Enter the Access Key ID.
Note: We recommend you create a Wingify-specific user. This user will require read and write permissions to objects in the staging bucket.
|
| S3 Access Secret | Enter the Secret Access Key corresponding to the S3 Access Key above. |
- Click Create Connection.
- Once created, the connection appears under Active Connections.
To enable the connection for campaigns:
- Navigate to Web Experimentation and select a campaign.
- Go to Configuration > Integrations, then select Redshift.
Import Lists from Redshift
Use this connection type to target visitors in Wingify using Redshift Lists.
Step 1: Grant Required Permissions
Ensure your cluster's access is properly configured. Check the AWS Redshift documentation for tutorials on configuring cluster access.
Step 2: Create the Connection in Wingify
- Click Create Connection and select Import Lists from Redshift.
- In the Create Connection form, enter a name in the Connection Name field.
- Enter the remaining connection details:
Field |
Value |
| Host | Specify your Redshift Host URL. |
| Port | Specify the Port number. |
| Database Name | Specify the Database name containing your dataset. |
| User | Enter the authorized username. |
| Password | Enter the password for the user. |
4. Click Create Connection.
Once created, the connection appears under Config > Active Connections.
Step 3: Create an Attribute List Once the connection is established, you must map your data using an Attribute List.
- Click Add attribute list from Redshift.
- Provide a name for your attribute list.
- Select the appropriate Schema and Column.
- Click the Add button.
After creation, the attribute list will automatically initiate data synchronization with Wingify, allowing you to use these attributes for campaign targeting.
Use Redshift 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 Redshift list (for example, if your list contains UUIDs and you push the user's UUID into a JS variable named uuid on 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 Redshift (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 Redshift.
Best Practices
- Use Dedicated Users: Always create a dedicated Redshift user and AWS IAM user specifically for Wingify. This adheres to the principle of least privilege and makes auditing easier.
- Match Regions: To reduce data latency and potential AWS data transfer costs, ensure your S3 Staging Bucket and your Redshift Cluster reside in the same AWS Region.
- Monitor Syncs: Periodically review your imported Attribute Lists in Wingify to ensure data formatting from your Redshift columns aligns with the targeting rules you wish to create in Wingify.
Troubleshooting
Issue |
Recommended Solution |
| Connection to Redshift fails during setup | Verify that your Redshift cluster is active and publicly accessible (or whitelisted for Wingify IPs). Check that the Host URL, Port, and credentials are correct. |
| Wingify data does not appear in Redshift |
|
| Unable to find the imported Redshift attributes in Wingify targeting | Go to the Redshift integration Config tab and check the status of your Attribute List. Ensure the sync was initiated successfully and the data types match Wingify's requirements. |
FAQs
-
Do I need to enable this integration for every new campaign?
Exporting data to Redshift must be enabled at the campaign level. Once the account-level integration is set up, you can enable it for individual campaigns by navigating to the specific campaign's Configuration > Integrations tab.
-
Can I use an existing Redshift database user?
Yes, you can use an existing user. However, for security and auditing purposes, we highly recommend creating a dedicated user with explicit permissions restricted to the necessary schemas.
-
What happens if my Redshift cluster goes offline?
If the cluster is unavailable, Wingify will be unable to successfully import or export data until the connection is restored. Check your AWS Management Console if connection errors appear in Wingify.
Need more help?
For further assistance or more information, contact Wingify Support.