LiveRamp accepts the following hashed identifiers and hashing types:
- Email addresses: SHA-256, MD5, or SHA-1 hashes
- Phone numbers: SHA-1 hashes (EU data files cannot contain hashed phone numbers)
- Mobile device IDs: SHA-1 hashes
Note: LiveRamp cannot accept hashed name and postal address data. Unfortunately, there is too much variation in casing and whitespace to do this reliably.
Note: When sending hashed identifiers, include the hash type in the column header, such as “email1_SHA-1”.
Hashing Email Addresses
LiveRamp accepts SHA-256, MD5, or SHA-1 hashed email addresses. See "Formatting Email Addresses" for more information.
Convert all characters to lowercase and remove all whitespace before hashing. For example, the plaintext email address "MyName@liveramp.com " must be changed to "firstname.lastname@example.org" before hashing.
Note: Make sure to check that your hashing algorithm produces the results for email address hashing produced in the “Hashing Examples” section of this document. Hashing algorithms that put a “0x” at the beginning of the hash string will result in the file upload failing.
Note: Your match rates may be slightly lower with hashed email addresses than with plaintext emails. To maximize the match rates for hashed email addresses, send all three hash types, each in a separate column.
See the "Hashing Examples" section below for specific hashing instructions and examples.
Hashing Phone Numbers
LiveRamp accepts SHA-1 hashed phone numbers. Remove all country extensions, parentheses, and hyphens before hashing. See "Formatting Phone Numbers" for more information.
EU data files cannot contain hashed phone numbers.
Hashing Mobile Device IDs
LiveRamp accepts SHA-1 hashed mobile device IDs. See "Formatting Mobile Device IDs" for more information.
AAIDs must be downcased and hyphenated
IDFAs must be upcased and hyphenated
Note: Hashed AAID IDs and hashed IDFA IDs cannot be accepted in the same file. To send both types of hashed mobile device IDs, put them in separate files.
MD5 Hashing in Python
The following code snippet shows an example of how to perform an MD5 hash of an email address in Python.
# Import hashing library import hashlib # The input email has capital letters and a space at the end. input_email = "IMeyers@liveramp.com " # The input email address is downcased and ALL whitespace (not only spaces) is removed. hashed_email = hashlib.md5(''.join(input_email.lower().split())).hexdigest()
SHA-1 Hashing in Ruby
The following code snippet shows an example of how to perform a SHA-1 hash of an email address in Ruby.
# Import SHA-1 library require 'digest/SHA1' # Get hexdigest of the lowercased email address # (note that the email address in this example is already downcased and stripped of whitespace) Digest::SHA1.hexdigest("email@example.com".downcase()) # Result =>"bd47cd008161c269b39b140f0ddd9e8996156574"
SHA-1 Hashing in Python
The following code snippet shows an example of how to perform an SHA-1 hash on a phone number in Python.
import hashlib # A phone number in the correct format input_phone = "4159870604" # SHA-1 hash the phone number hashed_phone = hashlib.sha1(input_phone).hexdigest()
Other Hashing Examples
We'd really appreciate your feedback on this article.