According to Salesforce Support, there is no way to overwrite the existing number on subscribers in mobile connect. By uploading an existing subscriberkey with priority 1 and a new number, this will get added as the primary number - but the old one will still exist as part of me.

In the short run, this is not an issue. But in the long run, given that numbers are recycled, we need a maintenance job to clear out priority 2 numbers.

Does any of you have experience of this via the API ? (indicated by the support team). I cannot find a documented way, when investing the mobile connect apis https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/using-the-mobileconnect-api.htm

3 Answers 3


The support came back with a more definitive reply:

"I have checked your concerns with the team and they have explained that each MobileNumber associated with a particular contact would log the information about things sent to it under the MobileNumber that they had come from. As there can be multiple MobileNumbers per contact that information would just be MobileNumber specific but yes, at the contact level, it would be associated in a way with the same contact.

We (Support) are also aware of these flaws and limitations and all we can do is encourage customers to log these as Ideas in the IdeaExchange portal so they can be taken into consideration for future implementation. https://success.salesforce.com/ideaSearch?filter=Marketing+Cloud"

So seems nothing can be done I'm afraid :(

  • Inclined to agree with your frustrations, Kenneth. Your use case is pretty extreme and very expensive these days.
    – Macca
    May 22, 2017 at 15:29
  • Wouldn't say it's expensive, as it is simply not doable :-) I'm trying to confer with legal departments with the client, in order to determine if we can hit any roadblocks here. Hoping we wont :) May 30, 2017 at 10:03
  • @KennethWagner this is three years old. Have you found a way to clear out mobile number? Aug 17, 2020 at 21:36
  • I'm trying with the API, but seems it won't let me set an empty value Aug 17, 2020 at 21:37
  • 1
    @garek007 believe Doug below managed to find a way via SSJS ? But Haven’t looked at this particular theme in ages - so answer might be outdated Aug 18, 2020 at 11:23

I suspect you're trying to answer a question that doesn't need resolving. SFMC maintains these priority 2 addresses in order to suppress sends to stopped numbers. SFMC doesn't know who the ultimate individual that's got that SIM in their phone is. As you point out, this isn't an issue in the short run. Your customer's no longer using that number or that's what they've told you. But is it a problem worth expending many clock cycles over for the long run? If you consider your average consumer rotates their mobile number every five years and your market penetration in terms of what percentage of all mobile numbers in your market are in MobileConnect is something akin to 0.00001%... collisions will happen, but this is only Marketing. So, why are you bothered about deleting these records?

  • Hey Andrew - you're absolutely right, that it might be more theoretical than practical - however, given the technical structure of marketing cloud right now, in order to send an SMS (e.g. a transactional sms) via Journey Builder, they need to be imported. For the solution design of our client, they are buying all phone numbers in the country and importing those to mobile connect to ensure transactional sms'es are made available. They will be sending these sms'es to 20% of the market yearly. Therefore, it's quite important for us to be able to at least identify a way to clear out priority 2 May 19, 2017 at 7:06
  • Hey Andrew - one question, i realized here. If i import a new number to me, my old number goes to priority 2. That's fine. If i then import the old number to another contact, this then becomes priority 1, correct? what happens with the old priority 2 number - you know? It shouldn't continue to be suppressed or? May 30, 2017 at 10:16
  • I just tried - and i can see that i now have two contacts, one with my old number as priority 2 (and active), and a new contact with my old number as priority 1 (and active). Do you know the system outcomes here? May 30, 2017 at 10:21

Mobile Connect data is stored in a 'hidden' data extension called _MobileAddress.

You can check the CustomerKey of it in ContactBuilder or using SOAP API to retrieve all data extensions. The data extension has the contactId field which links to a given subscriberKey.

You can alter the DE using AMPScript or SSJS using the methods provided to interact with data extensions.

  • 1
    But how do you overwrite / delete a mobile number stored as priority 2 ? :) May 19, 2017 at 7:02
  • Using ServerSideJavaScript: var mobileConnectDE = DataExtension.Init("<external key>"); var contactID = <youtContactId>; mobileConnectDE.Rows.Update({_MobileNumber:"<mobile number to update>"}, ["_ContactID"], [contactID]);
    – SebOB
    May 22, 2017 at 8:16
  • Hmm.. the recommended process is to use automation studio to import from a DE, but you would suggest using SSJS to do it Instead, to handle the update pf excisting subscribers? May 22, 2017 at 8:26
  • You can create a Script that changes the data of the subscribers you need. This script could run right after the DE Import.
    – SebOB
    May 22, 2017 at 8:34
  • 1
    @KennethWagner I have been trying this also, and found using SSJS does seem to work when using Rows.Remove, so _MobileAddress is certainly editable.
    – Doug
    Feb 5, 2018 at 22:28

You must log in to answer this question.

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