Manual Advanced Matching
You can gain more accurate conversions by passing one or more customer match keys with every conversion event. Passing these signals is optional but highly recommended, especially email.
Match keys are set during initialization. If you don't have all the parameters you need initially, that's okay. You can add them later by making another request. Any user actions that occur after this additional request will still be shared using the new parameters.
Manual advanced matching can be shared unhashed or pre-hashed for the Reddit Pixel and Conversions API (CAPI). If you'd like to hash signals, we recommend using SHA-256 and following the guidance below.
Email addresses
A user's unique email account. We strongly recommend passing it to help trace cross-platform conversions and strengthen attribution.
Example: example@email.com
Hashing email addresses
You can choose to hash and normalize email addresses with redditNormalizeEmail for the Reddit Pixel.
Email addresses should be formatted like example@email.com. Events with invalid values—such as ’First Last’ <example@email.com>—will still be accepted, but a warning will appear in the Events Manager.
The email address must be canonicalized before hashing:
- Lowercase the address: Convert the email to lowercase.
- Remove the email alias: Strip everything between the first
+to the end of the username (before the@). - Remove special characters: Remove all non-alphanumeric characters from the username.
- Hash using SHA-256: Hash the canonicalized email using SHA-256. Return the result as a lowercase hex string (64 characters).
For example, alice@example.com and Al.ice$+Apple@Example.Com should both hash to ff8d9819fc0e12bf0d24892e45987e249a28dce836a85cad60e28eaaa8c6d976.
Example: Al.ice$+Apple@Example.Com
Al.ice$+Apple@Example.Combecomesal.ice$+apple@example.comal.ice$+apple@example.combecomesal.ice+$@example.comal.ice+$@example.combecomesalice@example.comalice@example.combecomesff8d9819fc0e12bf0d24892e45987e249a28dce836a85cad60e28eaaa8c6d976
If you've added Reddit Pixel to your website, you can use this helper method to normalize for you:
const normalizedEmail = redditNormalizeEmail('al.ice+apple@example.com');
Phone numbers
A user's phone number in E.164 format.
Example: +15554441234
Hashing phone numbers
Phone numbers should be formatted like +15554441234. Events using invalid formats—like +1 (555) 444-1234—will still be accepted, but a warning will appear in the Events Manager.
The phone number must be canonicalized before hashing:
- must contain the country and area code
- remove the extension
- remove all non-numeric characters, including spaces, symbols, and letters
- the number should start with
+ - SHA-256 should be used to hash the identifier, and 64 lowercase hex digits should be given
For example, +15554441234 and +1 (555) 444-1234 should both hash to e5b124c58580eb16bd959b8d0cac12b12c952e2ceae0203d416cff94f10b994a.
Here's a breakdown for the example of +1 (555) 444-1234 ext. 789:
- remove the extension (
+1 (555) 444-1234 ext. 789becomes+1 (555) 444-1234) - remove non-numeric characters (
+1 (555) 444-1234becomes15554441234) - ensure it starts with
+(15554441234becomes+15554441234)
Mobile Advertising ID (MAID)
A user's unique mobile advertising ID.
| MAID | Description | Example |
|---|---|---|
| AAID | A unique identifier associated with individual devices running the Android operating system. | 38400000-8cf0-11bd-b23e-10b96e40000d |
| IDFA | A unique identifier associated with individual devices running Apple's iOS operating system. | 8A2E4F6D-0852-4B2A-B9D5-79334DE14B16 |
Hashing MAIDs
When passing an IDFA or AAID directly, it should follow the standard format. Events with invalid IDs—such as placeholder 00000000-0000-0000-0000-000000000000—will still be accepted, but a warning will appear in the Events Manager.
If you choose to pre-hash the identifier, it should follow a canonical format:
- an IDFA should be uppercase hex digits
- an AAID should be lowercase hex digits
- the dashes should be included
- SHA-256 should be used to hash the identifier and 64 lowercase hex digits should be given
For example:
- an IDFA of
EA7583CD-A667-48BC-B806-42ECB2B48606can be hashed to70574fa9c8f498a7b2e5c8712b1126de7b1406fd02fdc591821c5bd33092fd1c - an AAID of
cdda802e-fb9c-47ad-9866-0794d394c912can be hashed tof23b554b2a8fb732a8b973733832e70f018da7bc294dfea289735a07d5dd2c9f
External ID
An advertiser-assigned custom identifier. We recommend passing an external ID with its corresponding click ID whenever possible.
Example (unhashed): customer12345
Example (hashed): a4cc2fc5adf58a029291c1514d273989113a1d05e1d753c1d0c3a848af7109cc