Solved! Go to Solution.
Grant Grigorian and anyone interested --
I recently had some issues with a segment not updating and had a dialogue with support, so wanted to share it here as it is quite relevant to Grant's original question.
The issue was two fold, that the initial time a lead is added to a segment it was not logged in the activity history, and also in some cases leads were being bucketed into the wrong segments and apparently "disobeying" the segmentation rules.
After investigation, I received the following feedback:
"After speaking with the next level techs, I found more information about why the segments are behaving the way we observed earlier. One part of the issue is that these fields being lookup fields do not update on the Marketo side unless the update is from Marketo.
Keep this in mind when considering the following, Segments are not exactly like smart lists. They are like dynamic static lists. It has triggered listeners for the fields which it is based on - which moves the lead between segments. The trigger is Data Value Changed. So there needs to be an activity on those listened fields for the Segment to recognize the change. As lookup fields do not update except on the Marketo side after the initial creation value, this is why there are not activities moving the leads to different the segments.
The reason why the lead showed in the expected segment's draft is because a new draft segment pulls the data fresh, like a smart list, the first time when generating the segment. "
I found this all very intriguing because I was not aware that this was how segments functioned and specifically with the limitations on Lookup fields in SFDC. These limitations seem to apply to smart lists as well, which was news to me.
I asked some follow up questions, which I post below along with the answers:
QUESTIONS:
a) Does this mean that any update in the Lookup field from Salesforce will
be ignored *permanently* or only that it does not trigger the sync? I.e. if
something else triggers systemmodstamp will the change in lookup value be
synced up to Marketo at that point?
b) If the answer to a) is "yes", will this change in Lookup value than
trigger a data value change or is the answer still no?
c) Does all this also apply to standard lookups such as the "owner" field?
ANSWER: The value will carry across and show in the Lead views for any update in the Lookup field from SFDC. You will be able to make accurate smart lists by these fields but it will not create a Change Data Value in the activity log and therefore it will not update the segment. This applies to lookup fields, account fields, and formula fields. This does not apply to the Owner field. There will be a Change Lead Owner activity.
QUESTION: d) Does this mean that I should never do a "Data Value Changes" trigger
using a Lookup value in a Smart Campaign because it will fail to fire?
ANSWER: Exactly. The trigger will not fire because there won't be an activity generated.
QUESTION: e) Something I still don't understand is that, in some cases we looked at, the
[specific field] value was updated but the lead was still in the wrong channel. So clearly that update passed into
Marketo, because it was visible on the lead record, but failed to trigger
the segment change.
Should I understand that this because it was a Lookup field and the
Lookup field updates "silently" without a data value change being logged,
hence not triggering the segment change?
ANSWER: Yes. The value is actually passed to Marketo but segments will not update because they need a Change data value activity to do so.
Grant Grigorian and anyone interested --
I recently had some issues with a segment not updating and had a dialogue with support, so wanted to share it here as it is quite relevant to Grant's original question.
The issue was two fold, that the initial time a lead is added to a segment it was not logged in the activity history, and also in some cases leads were being bucketed into the wrong segments and apparently "disobeying" the segmentation rules.
After investigation, I received the following feedback:
"After speaking with the next level techs, I found more information about why the segments are behaving the way we observed earlier. One part of the issue is that these fields being lookup fields do not update on the Marketo side unless the update is from Marketo.
Keep this in mind when considering the following, Segments are not exactly like smart lists. They are like dynamic static lists. It has triggered listeners for the fields which it is based on - which moves the lead between segments. The trigger is Data Value Changed. So there needs to be an activity on those listened fields for the Segment to recognize the change. As lookup fields do not update except on the Marketo side after the initial creation value, this is why there are not activities moving the leads to different the segments.
The reason why the lead showed in the expected segment's draft is because a new draft segment pulls the data fresh, like a smart list, the first time when generating the segment. "
I found this all very intriguing because I was not aware that this was how segments functioned and specifically with the limitations on Lookup fields in SFDC. These limitations seem to apply to smart lists as well, which was news to me.
I asked some follow up questions, which I post below along with the answers:
QUESTIONS:
a) Does this mean that any update in the Lookup field from Salesforce will
be ignored *permanently* or only that it does not trigger the sync? I.e. if
something else triggers systemmodstamp will the change in lookup value be
synced up to Marketo at that point?
b) If the answer to a) is "yes", will this change in Lookup value than
trigger a data value change or is the answer still no?
c) Does all this also apply to standard lookups such as the "owner" field?
ANSWER: The value will carry across and show in the Lead views for any update in the Lookup field from SFDC. You will be able to make accurate smart lists by these fields but it will not create a Change Data Value in the activity log and therefore it will not update the segment. This applies to lookup fields, account fields, and formula fields. This does not apply to the Owner field. There will be a Change Lead Owner activity.
QUESTION: d) Does this mean that I should never do a "Data Value Changes" trigger
using a Lookup value in a Smart Campaign because it will fail to fire?
ANSWER: Exactly. The trigger will not fire because there won't be an activity generated.
QUESTION: e) Something I still don't understand is that, in some cases we looked at, the
[specific field] value was updated but the lead was still in the wrong channel. So clearly that update passed into
Marketo, because it was visible on the lead record, but failed to trigger
the segment change.
Should I understand that this because it was a Lookup field and the
Lookup field updates "silently" without a data value change being logged,
hence not triggering the segment change?
ANSWER: Yes. The value is actually passed to Marketo but segments will not update because they need a Change data value activity to do so.
Wow, very interesting.
So could you run a batch to update that Lookup (or another field) to cause the CDV?
Thanks Justin - this is a great insight. Robb McDowell - this might be relevant for you.
Would SFDC Type be considered a 'lookup' field? Would a Segment that has a SFDC Type = Contact filter not necessarily update that sement when a Lead is converted to a Contact, since there is not a Data Value Changed activity, just a Convert Lead activity?
I use a segmentation for 'valid emails', which basically removes marketing suspended, unsubscribe, blacklist, and email invalid. In this segmentation, I also have created an 'internal' list for when we want to send to people internally but don't want that number included in our final count. The best part about creating this segmentation is for each send that you do, you'll see the 'exact' number instead of having to do the math between the two. Just a thought!