Leveraging Unique IDs: RampID, UID2, and CoreID
Passing emails and phone numbers to MobileFuse will improve monetization while adhering to privacy standards. MobileFuse has partnered with LiveRamp and is utilizing the LiveRamp Authenticated Traffic Solution API to ensure the process is privacy-first and utilizes authenticated private information only.
For more information about LiveRamp’s Authenticated Traffic Solution visit here.
Supported integration methods include:
- The MobileFuse SDK
- Directly pass HEMs via oRTB to MobileFuse, see here
- ATS Mobile SDK directly
- If you are leveraging Nimbus, InMobi, or Pubmatic to connect to MobileFuse
*Currently Pubmatic OpenWrap and TAM do not support passing envelopes.
For more on LiveRamp supported paths click here.
How to pass data
The method for passing user emails or phone numbers depends on the integration method you are using. We only accept LiveRamp envelopes if the user is not opted-out of tracking.
In order to partake, you will need to:
- Sign a contract with LiveRamp. Your MobileFuse rep can make the introduction.
- LiveRamp will need to approve your bundles and review your Privacy Policy.
- Determine if you’ll use ATS directly or the MobileFuse SDK to generate envelopes.
- In addition to RampID, LiveRamp can also enable the creation of CoreID & UID2 upon request which we recommend you do to maximize your traffic value.
For publishers utilizing the MobileFuse SDK
Passing phone numbers or emails
You can pass emails or phone numbers directly into the SDK. When an email address or phone number is passed to the SDK, they will be used to generate encrypted and anonymized extended IDs including a LiveRamp envelope and UID2. The IDs are then passed in the bid stream, along with privacy flags that state whether tracking is allowed.
Use the following methods to pass an email or phone number to the SDK:
MobileFuseTargetingData.setEmail("[email protected]");
MobileFuseTargetingData.setPhoneNumber("+1 (555) 555-5555");
MobileFuseTargetingData.email = "[email protected]"
MobileFuseTargetingData.phoneNumber = "+1 (555) 555-5555"
[MobileFuseTargetingData setEmail: @"[email protected]"];
[MobileFuseTargetingData setPhoneNumber: @"+1 (555) 555-5555"];
MobileFuseTargetingData.setEmail("[email protected]")
MobileFuseTargetingData.setPhoneNumber("+1 (555) 555-5555")
Info: Phone numbers
LiveRamp ATS only accepts US phone numbers. The SDK will automatically sanitize the phone number by removing spaces, prefixes and brackets, so the format is flexible. All of the following will work:
"+1 (555) 555-1234"
"(555) 555-1234"
"5555551234"
Passing in an extended ID value (UID2, LiveRamp Envelope, FabrickID)
If you have an EID value you'd like to pass in directly, you can use the following method (example showing a UID2 value):
MobileFuseTargetingData.setExtendedUserId("uidapi.com", "d0b7a1b3b5a84d2f81259fbc5e8b6c6d");
MobileFuseTargetingData.setExtendedUserId("uidapi.com", "d0b7a1b3b5a84d2f81259fbc5e8b6c6d")
[MobileFuseTargetingData setExtendedUserId:@"d0b7a1b3b5a84d2f81259fbc5e8b6c6d" forPartner:@"uidapi.com"];
MobileFuseTargetingData.setExtendedUserId("d0b7a1b3b5a84d2f81259fbc5e8b6c6d", forPartner: "uidapi.com")
The same method can also be used to pass in your LiveRamp envelope or FabrickID:
MobileFuseTargetingData.setExtendedUserId("liveramp.com", "AqOjwcJnunA7be0m8wCMHPXgG1VpMNCLIKu07cQfxn...");
MobileFuseTargetingData.setExtendedUserId("neustar.biz", "e9a2d8c3f6b74c87a1b23de4c8d9f6a1"); // FabrickID
MobileFuseTargetingData.setExtendedUserId("liveramp.com", "AqOjwcJnunA7be0m8wCMHPXgG1VpMNCLIKu07cQfxn...")
MobileFuseTargetingData.setExtendedUserId("neustar.biz", "e9a2d8c3f6b74c87a1b23de4c8d9f6a1") // FabrickID
[MobileFuseTargetingData setExtendedUserId:@"AqOjwcJnunA7be0m8wCMHPXgG1VpMNCLIKu07cQfxn..." forPartner:@"liveramp.com"];
[MobileFuseTargetingData setExtendedUserId:@"e9a2d8c3f6b74c87a1b23de4c8d9f6a1" forPartner:@"neustar.biz"]; // FabrickID
MobileFuseTargetingData.setExtendedUserId("AqOjwcJnunA7be0m8wCMHPXgG1VpMNCLIKu07cQfxn...", forPartner: "liveramp.com")
MobileFuseTargetingData.setExtendedUserId("e9a2d8c3f6b74c87a1b23de4c8d9f6a1", forPartner: "neustar.biz") // FabrickID
Retrieving extended IDs
You can use the following method to get the currently used value for a particular extended ID partner:
String myLiveRampEnvelope = MobileFuseTargetingData.getExtendedUserId("liveramp.com");
val myLiveRampEnvelope: String? = MobileFuseTargetingData.getExtendedUserId("liveramp.com")
NSString *myLiveRampEnvelope = [MobileFuseTargetingData getExtendedUserIdForPartner:@"liveramp.com"];
let myLiveRampEnvelope = MobileFuseTargetingData.getExtendedUserIdForPartner("liveramp.com");
For publishers integrated directly with MFX (via OpenRTB)
If you already have eids
eids
When passing data to MFX, SSPs should provide LiveRamp envelopes or UID 2.0 tokens that they have already obtained with the user’s consent (through a process similar to the steps outlined above). These alternative IDs should be passed via the user.ext.eids array field. Note that only sources liveramp.com (RampID Envelope) and uidapi.com (UID 2.0 Token) are supported at this time. For example:
{
"user": {
"ext": {
"eids": [{
"source": "liveramp.com",
"uids": [{
"id": "AvAPLiE-oU_cYmbXgyM0YCOXEnRg489A51pX2uvjoZx5f8V_1yzB_nkAQ5wICpnk2s_Iw1MvC0DL2sqkbzbtJSbEy9IWp5AYnJcL"
}]
}, {
"source": "uidapi.com",
"uids": [{
"id": "AgAAAAPHpn5cHG8VyP6CAuHh5AMemVXXXxMdVzjhmdRl0nt8cglqmMRWTmKap05HIeNpLvEaAERX2mLp0RVSJz0M48igDHx53dsrnaenCAG/VDTJcAkHFLIplzOFjYASu0wtXsJ3IBNAWjSABjs7xmEXq73B16HRZAeCCBBKGBdvhp0rww=="
}]
}]
}
}
}
If you have hashed emails and want MobileFuse to generate eids
for you
eids
for youIf you have emails but aren't or don't want to integrate directly with LiveRamp or other providers to generate alternative IDs, you can pass hashed emails (HEMs) to MobileFuse.
Only hashed emails are supported and hash types are sha256
, sha1
, and md5
. More is better and at least sha256
is highly recommended to maximize the match rate.
HEMs should be passed in $.user.ext.hems
like the example below:
{
"user": {
"ext": {
"hems": [
{"hem_type": "sha256", "hem": "fb98d44ad7501a959f3f4f4a3f004fe2d9e581ea6207e218c4b02c08a4d75adf"},
{"hem_type": "sha1", "hem": "1022b0c3a1d9a6409ae0dd2364fdcfe41f63ae22"},
{"hem_type": "md5", "hem": "357a20e8c56e69d6f9734d23ef9517e8"}
]
}
}
}
Updated about 2 months ago