I understand that the field is not editable, but contacts can be toggled into marketing or non-marketing contacts through API integrations and form submissions (there are settings that allow you to toggle which API integration or type of form submissions creates a marketable or non-marketable contact) but something is not making sense.
In the end I figured it out going through the field description:
This unique identifier will be used when syncing with integration partners. Once created it can’t be edited.
It seems it can be created, but it cannot be edited once created… which is a strange limitation because we have use cases in which a contact is created through an API integration as a marketing contact (or non marketing contact) and then we want to update the status of this contact through another API integration based on additional information we collect on that respective contact.
To give a concrete example:
We use Call Tracking Metrics to create contacts from phone calls and since we do not have an email address at the time of the call, the contact is created with a 12345678@hubspot.com temporary email address (which is, of course, non marketable to).
Once the call (handled by the sales) is done, that contact is updated in another CRM platform with a name, proper email address and other information and that data is passed to HubSpot via API by matching the phone number and updating the email and other relevant contact properties.
Now we have 2 cases: the contact was junk and it doesn’t get an update, so it’s fine that the @hubspot.com email is non marketable, but also the contact was valid and data is updated, but now it’s marketing status cannot be updated because the contact has already been created by another API integration…
How can we go about this to automate this unless we use Pro and workflows (as only the upgrade from Starter seems to be the answer)? Thanks.