I'm asking you another question, pretty similar to this one : Know if someone can receive a Push notification (for Journey Builder)

My question today is to be able to know if someone did NOT install the application yet. I thought I would use the same way, however if a Contact didn't install the app, he won't have any data in the MobilePush tables... ? So I'm not able to find someone who is not in a table :)

Is there a way, maybe with a query, to identify these contacts ?

Thank you for your help !

Kind regards,


4 Answers 4


I suggest creating a mobile filtered list where ContactKey is not null and ContactKey does not contain "-", which will give you all of your registered contacts in marketing cloud. Then look for those without a DeviceID using SQL, or export the list to your local and do some excel finagling. Hope this helps.

  • Hi @Luke, I was still searching a solution and I guess I found something similar to what you said here... To identify all those who can't receive a push notification, I just have to create a Mobile filtered list, as you said, and I put "Opt In Status equal Not Opted In". So here I have my Optout ones, and I can run a query on this (but be carefule with this salesforce.stackexchange.com/questions/228038/… ) However, I'm still having a last issue : I want to run my query everyday but the MobileList is updated only when a Send is done. Any idea of how to do ?
    – divad
    Dec 3, 2020 at 21:18
  • I would create an automation with Step 1. Refresh Mobile Filtered List, Step 2. Query you wrote. You can schedule this to run on a cadenced basis and the refresh step will update the list regularly with those not opted-in before your query is ran. I always alias the list names when using in a query eg.( SELECT ML.SubscriberKey FROM [Mobile List] ML ) Does this help? Dec 3, 2020 at 21:42
  • Hey, yes it helps, thanks a lot. You're right, I'll use this to populate my main Data Extension. As I didn't know we could perform query against mobile list - and refresh them-, I guess it's a (poor) solution for several issues : I can now create a list for 1 AppVersion and query this list to have the Contacts involved. Then another list for another version of the App... That's dirty but I can have the info like this... I can also know all Optin/Optout Contacts for the push in my main DE too... That's not a good solution, but it's a solution :p
    – divad
    Dec 4, 2020 at 14:48

There may be some way to join across channels and see which users exist in another channel, but not in MobilePush, but I do not know how to do that. Another alternative, however, could be to import your contacts into the MobilePush channel. They would all arrive without a push token, and thus opted-out until they installed the application and registered for push notifications.


Thanks a lot for your feedbacks ! I guess I found the solution I needed thanks to your clues.

With a SQL query, I have been able to fill a field called "hasApp" in my Data Extension. If it finds a raw in _PushAddress, then it puts a "1" in this boolean field :

S.SubscriberKey as IdSF,
1 as hasApp
FROM _PushAddress P
INNER JOIN _Subscribers S ON S.SubscriberID = P._ContactID

I had to join _Subscribers to have a link between the ContactID and the ContactKey.

I'll run this query every day, then I'll be able to select all my contacts without a 1 in this field. However, this way tells me if someone already had once my app, not if he always has it. The best way would be to use the Status field. But I'm not able to find a proper value for Status: it is always equals to 1 (optin) for all my devices while I have several devices optout (Contact Builder gives me a Status = Not Opted In, in the Membership tab)

Also, I'd be interetsed in the "Application Version" field we can see in the tab "Attributes", under MobilePush Data > MobilePush Demographics. Can't find any answer on internet to have that !

Do you have some more clues for me ?

Thank you !



Don't even get me started with Application Version.. I've opened cases with Salesforce, posted on here numerous times, and I haven't been able to query the Application Version field. Below are a few links from previous posts I've made and a SF case response. I suggest using the mobile filtered list functionality to grab specific contacts for a given Application Version.

Querying Mobile Push Demographics Table

Response: Beyond that, about the only other thing I can suggest is some external data filtering, if you grab the entire set of individual IDs with the proper app version, you would be able to use that as an exclusion target (basically remove from the aggregate list).

  • Hmmm ok what a pitty. Application Version would sometimes be usefull instead of checking Firebase. Also, for the "_Status" field, it's always equals to 1 when I check with my query. For all my Contacts, even for people where I can see "Optout" in Contact Builder. I don't have any 0 or 2 as a value. That's strange or... _Status is not the good field to check ? Thanks !
    – divad
    Dec 2, 2020 at 15:38
  • Just to let you know, I asked also the Support about this "Application Version" field, not available with a Data View. They confirmed it's stil not available. I tried :p
    – divad
    Dec 3, 2020 at 11:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.