Empower your advertising data by connecting to Expedia's Data Clean Room.
Supported syncing
Type | Description | Supported Sync Modes |
---|---|---|
Conversion Data | Sync data from any source to AWS Data Clean Room to use with Expedia Group Media Solutions conversion data | Mirror |
Mirror mode means that the current table will be cleared and replaced with all the rows in the new query result, every time the sync runs.
For more information about sync modes, refer to the sync modes docs.
Prerequisites
To get started, you need:
- to partner with Expedia Group to collaborate in AWS Data Clean Room.
- an S3 bucket to store your synced data in. Make sure that this bucket is only used for your data that you are syncing to use with Expedia.
- an S3 bucket for Data Clean Room analysis results. This must be a different bucket than the bucket for storing synced data.
- an AWS Data Clean Room collaboration membership ID. This can be found in your AWS Data Clean Room collaboration with Expedia under Details > Membership Details > Membership ID after creating a collaboration with Expedia.
- AWS credentials configured in Hightouch with programmatic access enabled and permission to write to the S3 path, use Glue databases and tables, and associate tables to data clean rooms.
Ensure that the configured user has the following IAM permission policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:*",
"s3-object-lambda:*"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"sts:AssumeRole",
"iam:PassRole"
],
"Resource": "arn:aws:iam::${accountId}:role/${IAMRoleName}"
}
]
}
And a separate IAM Role with the following permission policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CloudWatchLogsAccess",
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "*"
},
{
"Sid": "GlueCatalogAccess",
"Effect": "Allow",
"Action": [
"glue:CreateDatabase",
"glue:GetDatabase",
"glue:CreateTable",
"glue:DeleteTable",
"glue:GetTables",
"glue:GetTable"
],
"Resource": [
"arn:aws:glue:us-east-1:${accountId}:catalog",
"arn:aws:glue:us-east-1:${accountId}:database/ht_expedia__glue_database_sync_*",
"arn:aws:glue:us-east-1:${accountId}:table/ht_expedia__glue_database_sync_*/*"
]
},
{
"Sid": "S3AccessForGlue",
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetObject",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::{bucketName}",
"arn:aws:s3:::${bucketName}/*"
]
},
{
"Sid": "CleanRoomsAccess",
"Effect": "Allow",
"Action": [
"cleanrooms:ListConfiguredTables",
"cleanrooms:CreateConfiguredTable",
"cleanrooms:GetConfiguredTable",
"cleanrooms:ListConfiguredTableAssociations",
"cleanrooms:CreateConfiguredTableAssociation",
"cleanrooms:GetConfiguredTableAssociation"
],
"Resource": "*"
},
{
"Sid": "AllowPassRole",
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::${accountId}:role/${IAMRoleName}"
}
]
}
and Trust policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowUserAssumeRole",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::${accountId}:user/${IAMUserName}"
},
"Action": "sts:AssumeRole"
},
{
"Sid": "AllowGlueAndCleanRoomsService",
"Effect": "Allow",
"Principal": {
"Service": [
"cleanrooms.amazonaws.com",
"glue.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}
Connect to AWS DCR + Expedia Group Media Solutions
Go to the Destinations overview page and click the Add destination button. Select Expedia Group Media Solutions and click Continue. You can then authenticate Hightouch to Expedia Group Media Solutions.
Enter the following fields into Hightouch:
- Bucket Name
- AWS Glue and Data Clean Room IAM Role Arn: For the custom role outlined above, the Role ARN can be found under the custom role's Summary > Arn
- Data Clean Room Membership ID
Sync configuration
Once you've set up your Expedia Group Media Solutions destination and have a model to pull data from, you can set up your sync configuration to begin syncing data. Go to the Syncs overview page and click the Add sync button to begin. Then, select the relevant model and the Expedia Group Media Solutions destination you want to sync to.
Syncing conversion data
Sync data from any source to Expedia Group Media Solutions conversion data for analysis in AWS Data Clean Room.
Field mapping
Hightouch allows you to sync columns from your source to Expedia's AWS Data Clean Room with this schema:
Mapping | Type | Required |
---|---|---|
Event ID | string | No |
Timestamp (ISO8601) | string | Yes |
Transaction value (USD) | string | No |
Transaction category | string | No |
Email | string | No |
Email (SHA256 Hex) | string | No |
Phone number | string | No |
Phone number (SHA256 Hex) | string | No |
Hightouch recommends passing in all mappings with the type string to properly convert S3 files to AWS Data Clean Room collaboration tables.
Expedia recommends to share both email and phone numbers (either hashed or unhashed) to increase the match rate of the collaboration.
Expedia Data Clean Room collaboration
Adding your table to the collaboration
Hightouch handles associating a table with your data to the Expedia Data Clean Room collaboration. Additional analysis rules should be added to the Hightouch table that was added to the Expedia Data Clean Room collaboration to use your data with Expedia's.
Tips and troubleshooting
Common errors
To date, our customers haven't experienced any errors while using this destination. If you run into any issues, please don't hesitate to . We're here to help.
Live debugger
Hightouch provides complete visibility into the API calls made during each of your sync runs. We recommend reading our article on debugging tips and tricks to learn more.
Sync alerts
Hightouch can alert you of sync issues via Slack, PagerDuty, SMS, or email. For details, please visit our article on alerting.