Segments are based upon custom fields contained in your Emma subscriber lists. An audience record in Emma will need to have a value that matches the segment criteria. If records are missing from your segment, there are a few easy checks you can do in the order below:Emma
- If the custom field in Emma is a picklist, ensure the values are the same as those in Salesforce.
- Find an Emma audience member that should be in the segment but is not.
- Check the Emma audience member to see if they are active on the list; records that are not active will not be updated.
- Does the Emma audience member have the correct values to be part of the segment? If they are correct, the problem is with the segment itself.
If you are happy, the points above are correct, and the problem lies in Salesforce, please copy the email address.Salesforce
- Paste the email address into the Salesforce global search. If you have more than one result (i.e., duplicate records with the same email address), this could be a problem.
- If you have only one record, check to see:
- If the value in Salesforce is different from Emma
- They are active on the subscriber list the segment relates to.
Again if you are happy with the points above, the next step is to check the subscriber list itself in Salesforce. There are two ways our integration can update a custom field in Emma. The import wizard of field mappings.:
The import wizard requires a source i.e., a list view, report, campaign, or SOQl query.
Check to make sure that:
- The record you are looking for is included in the source.
- The field you are segmenting upon is included in the source.
- On the import wizard mapping screen, the field is mapped.
- The import has run recently and successfully.
If a person is active in Emma and has field mappings set up when the Salesforce record is edited, it will fire a trigger to update Emma. Check to see that:
- Field mappings have been set up on the subscriber list.
- The field the segment is based upon is mapped in the direction of Emma to Salesforce.
To test field mappings, you have two choices:
- While on the field mappings, Click the Retrospective Sync button. This will kick off a process to update all records that are active in the subscriber list. Once the process has run, check to see if the record has been updated in Emma.
- Go to the contact or lead record in Salesforce and Click edit, without making changes Click save. This will fire our trigger and attempt to update the data in Emma.
If the record has been updated, this points to a problem with the trigger, most likely permissions, or a conflict.Conflicts
Although we use standard Salesforce triggers, they can conflict with other code. A trigger fires when a Salesforce record is changed; this might happen by a user or an automated process. If there is a conflict, it could stop our code from executing as expected. It is tough to diagnose this type of problem.Permissions
When a trigger fires, it needs specific permissions. So if the user editing the Salesforce record (which fires our trigger) does not have one of our permission sets, the trigger will fail. If this is the problem, it is straightforward to correct by assigning a permission set; this article explains how. Long term solution
Although field mappings have their place, you might want to consider switching to our import wizard. Or you could use the import wizard as a safety net to run alongside your field mappings. The import wizard runs as scheduled APEX batch code, which means it is far less likely to encounter conflicts. Permissions are not a factor as you can only set up the wizard if you have permission, the code then executes under your Salesforce user.
If you'd like to use the import wizard as a safety net, I do have a few suggestions:
- Create a Salesforce report that contains the fields you are using in-field mappings.
- Filter that reports so that it only includes records that were last modified today.
- When you set up the scheduling of the import wizard, choose to have it run every hour of every day.
Using this approach, should the field mapping not work, the import wizard will keep Salesforce and Emma in sync. Filtering on records only modified today makes the import very efficient, which is better for your overall Salesforce Org performance.