Reach your best audiences across OpenX’s desktop, in-app and CTV supply through private OpenXSelect deals.
Overview
OpenX is a programmatic advertising exchange that connects advertisers with publisher inventory across web, mobile app, and connected TV (CTV). Sync your audiences to OpenX Direct Audiences as private segments in OpenXSelect, the OpenX platform where you build audiences from segments and target them through curated deals. If your model doesn't already contain identifiers OpenX can match, add them with Match Booster.
Supported syncing
| Sync Type | Description | Supported Sync Modes | API Reference |
|---|---|---|---|
| Audiences | Create private OpenXSelect segments and refresh their membership on each sync run. | All | Onboard Direct Audiences ↗ |
The linked OpenX guide requires an OpenXSelect login.
For more information about sync modes, refer to the sync modes docs.
Connect to OpenX
The only setting is your OpenXSelect organization ID, a UUID that OpenX account management provides, such as a0b1c2d3-e4f5-6789-abcd-ef0123456789. Hightouch delivers segments to the organization this ID identifies and doesn't check it, so confirm the ID with OpenX before your first sync.
You don't configure a bucket or credentials. Hightouch delivers files to a bucket OpenX set up for the Hightouch integration.
The destination has no connection test. Your first sync run confirms that Hightouch can deliver to OpenX.
Sync configuration
Audiences
Each sync run delivers your full current audience to one OpenX segment. Select Create a new OpenX segment when Hightouch should create the segment and set its name, description, and regions. Select Use an existing OpenX segment when the segment already exists in OpenXSelect and Hightouch should only manage its membership.
OpenX doesn't accept data about users under 13, or users under 18 located in California. Exclude them from your model or audience.
Create a new segment
Hightouch creates the segment with the ID hightouch-sync-<your sync's ID>. The segment is private to your OpenXSelect organization and isn't listed in the OpenX marketplace.
Enter a Segment name, or leave it blank to use the name of your model or audience. You can customize the name with templating, like Audience_{model.id}. Use variables that stay the same across runs, such as {model.id}, {model.name}, and {sync.id}. Avoid {sync.run.id} and date and time variables, such as {DD}. Their values change between runs, which renames the segment.
Add a Segment description to explain the audience in business terms. Hightouch sends the name and description to OpenX with every sync run.
Leave Regions blank for a US-only audience. OpenX treats a blank region as US, and you can still set regions later.
When the audience includes people outside the US, select every region its users are in, including United States (US) if some are in the US. The regions OpenX supports are United States (US), Canada (CA), Europe (EU), Africa (AFR), Asia-Pacific (APAC), and Latin America (LATAM).
Once Hightouch sends regions for a segment, later syncs can't change them. To correct a segment's regions, contact OpenX.
Use an existing segment
Enter the ID of the OpenX segment to sync to. The segment must already exist in the OpenXSelect organization this destination delivers to. Hightouch doesn't verify the ID, so if the segment's updated date in OpenXSelect doesn't change after OpenX's next processing run, confirm the ID.
Hightouch only manages the segment's membership. It doesn't change the segment's name, description, or regions.
Record matching
Map one or more columns to OpenX ID types. Hightouch prepares each value in the format OpenX expects and drops values it can't deliver in that format:
| ID type | How Hightouch prepares values |
|---|---|
| Email (SHA-256) | Trims, lowercases, and SHA-256 hashes plaintext emails. Passes through values already hashed with SHA-256. Drops emails hashed another way, such as MD5 or SHA-1. |
| Mobile ad ID (IDFA or GAID), Android advertising ID (GAID), Apple advertising ID (IDFA), and CTV device ID | Lowercases each ID, as OpenX requires. Sends only UUID-formatted IDs and drops all-zero IDs. |
| IPv4 address | Sends only complete IPv4 addresses. Drops addresses ending in .0 and IPv6 addresses. |
Hightouch hashes any plaintext value mapped to Email (SHA-256) without checking that it's an email, so map only email columns. It can't normalize values that are already hashed, so hash only lowercase, trimmed emails.
Columns that hold arrays expand to one identifier per value, so one row can contribute several device IDs. Hightouch removes duplicate identifiers from each row. All mapped ID types add members to the same OpenX segment, so one sync covers email, device, and IP matching.
Hightouch skips rows that have no valid identifier for any mapped ID type. Skipped rows don't fail the sync run and aren't reported as rejected rows, so if the segment's reach in OpenXSelect is lower than you expect, check your ID mappings and values.
Match Booster can add identifiers for Email (SHA-256), Mobile ad ID (IDFA or GAID), Android advertising ID (GAID), Apple advertising ID (IDFA), and IPv4 address. It doesn't add CTV device ID values. Match Booster can also use phone numbers to find matches, but Hightouch never sends phone numbers to OpenX.
Set a sync schedule
Schedule OpenX syncs weekly. OpenX asks partners not to send daily full deliveries unless the audience changes significantly. OpenX processes new files once a day at midnight UTC, so a run's results appear in OpenXSelect after the next midnight UTC processing run.
Each time OpenX processes new files, it rebuilds the segment from the deliveries it received over the previous 35 days, its default refresh window. If no new delivery arrives, the segment's membership stays as it is. Whatever schedule you set, run the sync at least once a month, as OpenX recommends, so the segment reflects your current audience.
Tips and troubleshooting
For Hightouch platform error codes related to OpenX, see Error codes: Other destinations.
Behavior and limitations
- People who leave your audience stay in the OpenX segment until OpenX processes a delivery more than 35 days after the last one that included them. With a weekly schedule, that's about 35 to 42 days. OpenX doesn't support removing a person immediately.
- OpenX deletes a segment that receives no updates for 90 days, and OpenXSelect audiences that use it then fail to publish or refresh. Keep the sync scheduled while any deal depends on the segment.
- Pausing or deleting the sync doesn't remove the segment from OpenX. To remove it before the 90 days pass, archive it from the Segments List in OpenXSelect or contact OpenX.
Validate your setup
After your first sync run, wait for OpenX's next midnight UTC processing run, then find the segment in the Segments List in OpenXSelect:
- A new segment has the ID
hightouch-sync-<your sync's ID>and the name you configured, or your model or audience name if you left it blank. - Confirm the segment's reach is in the range you expect. Its tooltip shows how many IDs OpenX received and how many it matched.
- If the segment doesn't appear, confirm your organization ID with OpenX account management.
A segment isn't targetable on its own. Build an audience from it in OpenXSelect, activate the audience, and attach it to a deal. OpenX audience activation takes 6 to 10 hours.
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
OpenX syncs write files to OpenX instead of calling an API, so the live debugger doesn't record their requests. When a run fails, check the error on the sync run.
Sync alerts
Hightouch can alert you of sync issues via Slack, PagerDuty, SMS, or email. For details, please visit our article on alerting.
