We have a requirement to send mobile push messages from the data extensions as we need to segment data and put in the data extension.The data extension have only contact key.We need to export the devid id and system token from all contacts to the DE.We donot have any dataviews to fetch the deviceid and system token.Can you please advise how we can pull the device id information from all contacts and put in the data extension.


You can retrieve data from the _PushAddress DE (using SQL or Ampscript of course). It contains all of the mobilePush attributes, including the deviceId.

for more information regarding the attributes themselves, check this topic: Attributes in _PushAddress and _PushTag Data Views

Hope I could help.

| improve this answer | |
  • These data views does have a contact key but I need to join the data based on contact key.Can you please advise and also confirm is this data views are officially available – Rohit Verma Aug 10 '19 at 13:27
  • @RohitVerma You can't query the ContactKey in the data view _PushAddress. You only have access the ContactID. – zeljazouli Aug 12 '19 at 10:22

Is there any particular reason you need the Device ID and System Token in the Data Extension? When sending to a DE in MobilePush, you only need the Contact Key in that Data Extension. The System Token and Device ID fields live on the MobilePush Demographics table, as long as you send to a Contact Key, Mobile Push will know where to fetch those values from.

| improve this answer | |
  • Very thank you for information.Will try that. – Rohit Verma Aug 21 '19 at 3:42

If your mobile application is using the SDK properly it will add/subscribe contacts to the mobile push channel and you will be able to access the information you need by running below query:

_SystemToken as Token
,_DeviceID as deviceID
from _pushAddress

You could add custom fields to the MobilePush data model and they will be then accessible in the _pushAddress address data view (without the underscore prefix)...

You could create a custom field called "PrimaryKey" and push there a value that you are using to set the ContactKey for specific record... You do not want let the SDK to use GUID to set the value of a ContactKey in most cases as this case cause a huge influx of data.

You can have multiple devices linked to one Contact (1:N relationship).

There is no easy way to find related ContnactKey (without using custom fields and some coding on the mobile side) if one was registered first via MobilePush channel and your Contactkey is a GUID set via the SDK.

You can also create a filtered mobile list and use SQL activity to select from that.

| improve this answer | |

You can get that data from PushAddress Table

  _ContactID as contactID ,
  _Platform as Platform, 
  _SystemToken as [System Token], 
  _DeviceID as [Device ID] 
from _PushAddress

My issue is how to get the Contact key from MobilePush Channel because it is different of Contact ID

contact ID different to Contact key

| improve this answer | |

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.