I am facing issue in getting the right Contact Key in Marketing cloud for mobile push

So here is the scenario - Recently we noticed that MC was populating with the correct SF contact key for some push contacts, but an GUID for the contact key value instead for some others. At that time, we investigated and found that our database had NULL for the contact key for the problematic contacts. To fix that, we added the correct values into our database and deleted the unwanted contacts from MC. However, we're seeing that since then, more contacts are being created in MC with the GUID as contact key.

What could be the possible reasons? I am aware of setDelayRegistrationUntilContactKeyIsSet() for Android as True in order to get the contacts created with the right contact key present in the database. But if this was not set earlier then how some of the contacts were mapped with correct contact key & not GUID .

1 Answer 1


When the SDK is first initialized in your application a registration is sent to the Marketing Cloud if you have not set the delay registration option. This option exists for both Android and iOS.

The first registration will not have a customer-set (you) Contact Key, but still needs a unique identifying value. The server assigns a random GUID to this contact.

When you later set a Contact Key in your application via the SDK, the contact details are reassigned from the GUID identified contact to the now "known" contact. This leaves an orphaned contact behind that still contains the GUID.

  • Thanks Billl. But at first when SDK was initialized (lets say this time delay registration was not set ), we got 2 types of records. Few records with Contact Key and few with GUID . Does this mean that delay registration if set to false will create contacts with contact key which are matching and also those contacts with contact key as GUID when not matching in Database ? @Bill Mote Commented Jun 1, 2023 at 10:45
  • The SDK works in only the ways I've described. There are no exceptions. It cannot set something it does not know about, and until you set a contact key, the device/user is considered 'anonymous'.
    – Bill Mote
    Commented Jun 1, 2023 at 18:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .