[SalesForce] How does data flow in Mobile Push : Contact ID vs. Contact Key

I am exploring mobile push and need to understand what's happening on a data side. I see this image from contact builder:

enter image description here

This table – mobile push demographics – how does this become populated?

I'm struggling giving that the SDK Documentation states that we should use ContactKey / SubscriberKey, however I don't see this attribute anywhere – and it isn't used to link to all subscribers.

So if i have an externally managed subscriber key – meaning that new subscribers can come into my platform by downloading the app first, and i generate the subscriber key and then push that into the marketing cloud – then this is before they actually have a contact id.

Can someone explain how this process works / should work ?

Best Answer

MobilePush Demographics holds information sent to the Marketing Cloud by your application. You can also import contacts into MobilePush and you will see the data for the contacts in the table. It is also the table where you will add any custom attributes you wish to pass to the Marketing Cloud.

The SubscriberID on the table is an auto-populated field which populates when a contact record is created; it is not the same thing as ContactKey/SubscriberKey. The ContactKey (SubscriberKey) is a root table value and is not part of MobilePush Demographics since MobilePush Demographics relates back to the root table on ContactID.

When a new contact record is created by your application sending a registration call to the Marketing Cloud it is create on the root table and on MobilePush Demographics.

Here is information for setting the SubscriberKey for iOS: http://salesforce-marketingcloud.github.io/JB4A-SDK-iOS/features/subscriber-key.html

Here is information for setting the SubscriberKey for Android: http://salesforce-marketingcloud.github.io/JB4A-SDK-Android/features/subscriber-key.html

Related Topic