Magnite allows clients to upload SHA256-hashed email-based segments, which are then processed through the Magnite Graph for digital ID transformation and activation.
To ensure high match rates during the graph transformation, emails must be normalized before SHA256 hashing:
Lowercase: Convert all characters to lowercase.
Trim Whitespace: Remove all whitespace from the beginning and end of the email.
Hash: Apply SHA256 hashing to the cleaned string.
As the data onboarder, you’ll need to have an SFTP server for us to connect to. To move forward, Magnite will need the following information:
Host (e.g. sftp-transfer.example.com)
Username
Port (Normally 22, may be custom)
Data Directory - The name of the root directory you’re sharing with us (e.g. data/). SFTP file paths should be in the following format:
Memberships: <data_directory>/source=xxx/memberships/date=YYYYMMDD/hour=HH/delivery_type=[delta|full]/<file_name>
Taxonomies: <data_directory>/source=xxx/taxonomies/date=YYYYMMDD/hour=HH/<file_name>
Additional Notes:
Magnite will provide you with a value for “source” upon data strategy review.
Magnite will use the information above to generate SFTP access keys. Once this is complete, Magnite will share our public key with you for final SFTP server configuration. This last step allows us to authenticate.
All files must be in csv format and include headers.
If file encryption is needed, Magnite will provide a key for file encryption prior to data onboarding. When encrypting files, please set armor to false for faster processing.
Encrypted: Maximum 15GB before encryption.
Unencrypted (Compressed): If encryption is not used, a single, compressed file should not exceed 20GB.
Magnite supports two csv formats for membership onboarding. Note that all memberships have a 28-day TTL. File headers are required.
Long Structure
The Long Structure is the standard format in which each row represents a unique combination of a user ID and a segment ID.
Field
Data type
Required/ Optional Values
Definition
SegmentId
VARCHAR(36)
Required
Unique Segment ID
Id
VARCHAR(64)
Hashed Email
IdType
Set to hem_sha256
IsActive
BOOLEAN
Optional
TRUE, FALSE. A user is opted out when set to False.
AddedAt
DATETIME
ISO8601 format.
Long Structure Example:
Segmentid,Id,IdType,IsActive,AddedAt Test003,hem_1,hem_sha256,TRUE,2024-11-12T10:15:35.598-06:00
Wide Structure
The Wide Structure is generally used to represent one individual per row, allowing you to map a single user to multiple segments simultaneously using comma-separated arrays.
An array of comma-separated Segment IDs
An array of comma-separated hashed emails
Wide Structure Example:
Segmentld,Id,IdType,IsActive,AddedAt “Test003,Test001,Test008, Test100","hem_1,hem_2,hem_3,hem_4",hem_sha256,TRUE, 2024-11-12T10:15:35.598-06:00
The taxonomy file maps your segments to the Magnite platform. File headers are required.
Required?
ClientName
VARCHAR(255)
Data Provider, Publisher or Advertiser Name
AccountId
The Magnite Account ID associated with the client. (Magnite to provide.)
The Segment ID(s) included in the membership file.
SegmentName
Name of the segment for UI display.
SegmentDescription
Notes/metadata on the segment.
SegmentCPM
DOUBLE
Cost of the segment.
Platform
Set to Magnite
TRUE, FALSE. Related to segment status.
UpdateTimestamp
TIMESTAMP
ISO860 format. This field is the timestamp of the update to Magnite.
Daily Ingestion: Magnite processes files daily.
Graph Transformation: Post-processing, segments are converted into digital ID-based memberships (IPs, MAIDs, TV Device IDs, and Cookies) for use in Magnite.
The onboarding process follows a structured path from initial setup to production activation.
Permissioning & Setup: Confirm SFTP access.
Normalization: The partner prepares data by cleaning and SHA256 hashing email addresses.
Test Upload: Partner makes test files available to the SFTP location for Magnite ingestion.
Verification: Magnite confirms SFTP ingestion and, if PGP is used, validates that decryption is functioning correctly.
Platform Validation: Magnite transforms the hashed emails through the Magnite Graph and confirms test segments are available to all applicable platforms.
Production Release: Once data is verified, clients can onboard production data as they wish.
Before uploading files to the ingress folder, ensure every item on this list is checked to avoid ingestion failures.
Email Normalization: All emails must be lowercase with all leading/trailing whitespace removed before hashing.
Base64 encoding is not supported. Please use Hex encoding.
Example: to_hex(sha256(lower('EMAIL@EMAIL.COM')))
Hashing Algorithm: Verify that the IDs are hashed using SHA256.
File Format: Ensure files are in .csv format and include the required headers.
Folder Path: Verify the file path follows the required structure:
Memberships:
<data_directory>/source=xxx/memberships/date=YYYYMMDD/hour=HH/delivery_type=[delta|full]/<file_name>
Taxonomies:
<data_directory>/source=xxx/taxonomies/date=YYYYMMDD/hour=HH/<file_name>
IdType Field: For all membership files, the IdType field must be set exactly to hem_sha256.
File Size:
Unencrypted (Compressed) files must be under 20GB.
Encrypted files must be under 15GB before encryption.
PGP Encryption: If encrypting, ensure armor is set to false.
AddedAt and UpdateTimestamps are current. We use these fields to keep the data in order when processing.
What is the difference between Full and Delta membership files?
Magnite accepts both types. A Full file represents the complete state of the segment, while a Delta file contains only changes. Magnite recommends starting with a Full file and then providing Delta updates.
How long does segment membership last?
Magnite has a 28-day TTL (Time to Live) on all segment memberships. If a user is not refreshed within this window, they will expire from the segment.
How do I handle user opt-outs?
To opt a user out, set the IsActive field to FALSE in your membership file.
What is the difference between Long and Wide file structures?
Long Structure: Each row contains one segment ID and one hashed email.
Wide Structure: Generally used for one individual per row, where segment IDs and hashed emails are provided in comma-separated arrays.
What do the membership counts in the UI represent?
After Magnite transforms your hashed emails via the Magnite Graph, the UI reflects the counts of the resulting digital IDs, specifically IP addresses, MAIDs, and TV Device IDs (and cookies if the segment is used on DV+).
Need more information or help with onboarding?
Please contact your account representative.