The core of this question is how do I join Marketing Cloud Contacts created by the Marketing Cloud MobilePush SDK with my Contacts in Sales Cloud within a Journey.
The MobilePush SDK is registering new Devices as a new Marketing Cloud Contact with the our App Login GUID as the Customer Key.
That GUID also exists on our Sales Cloud Contact records in a field called Contact_Key__c.
I created a Journey where the Entry Source is Salesforce Data. I have modified the Data Extension within the Audiance Builder so that under Data Extension the relationship is Contact_Key__c to Subscriber Key and under Data Designer so that the Marketing Cloud Contact Key is linked te Contact_Key__c.
However, when the Journey is running and I modify the Salesforce record to trigger the journey, the contact is always being injected into the journey with the Sales Cloud Contact ID as the Contact Key.
As a result, the Journy isn't correctly identifying the devices that belong to the Contact and isn't sending out Push Notifications. But if the Journey was correctly linking the Contact_Key__c field on the Sales Contact to the Marketing Cloud Contact Key then it would find the devices.
Is there a step I am missing in setting up my data? Is Marketing Cloud event capable of doing what I am asking?