Relatively simple decision diamond logic failing even though Actions / Test confirms the desired behavior

We have designed an email preference center with 5 custom dropdown (yes/no) fields, and we are designing a new campaign to help us keep our list clean. This campaign has a decision diamond with these 5 custom fields to classify contacts based on their communication preference.

The decision diamond logic tests good while using Actions → Test in the diamond but when testing with few contacts the decision diamond won’t let the contacts enter the sequence even if the contact qualifies to enter the sequence.

When I contacted Infusionsoft support regarding this, they proposed a workaround that made no sense to us. We are waiting for them to tell us why Actions / Test works and the campaign doesn’t.

Has anyone seen decision diamond behave one way with testing and a different way when the campaign is published?

The yes/no custom field type is flakey in decision diamonds. I proved what the problem was with them about 2 years ago, shot a video and submitted it, no changes have been made, they are still flakey.

I therefore recommend never using the yes/no custom field type, but a radio or drop down with yes/no in them


1 Like

Thank you Andy!

1 Like

@Andy_Wroe when we went to the settings to change the type of the fields, we were surprised to see they are not Yes/No custom field but a dropdown with No as default. We would like to know what was the field type (radio /dropdown) you chose as a better solution when you had the problem.

Interesting, dropdowns/radios both work fine (preference on style really at that point).

Were the contacts already in the sequence after the DD as you were doing a lot of testing?

@Andy_Wroe We have a catch all sequence in the decision diamond. If not for the catch all, contacts will fall out of campaign as they can’t enter any other sequence because of the flaky decision diamonds.

Any chance you can take an image of the DD so we can see it?

@Andy_Wroe Thank you so much for all your help. We believe, we cracked the mystery behind why the decision diamond is failing with dropdown fields.

As you know our dropdown field values are ‘No’ or ‘Yes’. With default being No, the field values will show No in the UI interface by default. We made the assumption that because the UI always showed the default value of No on all areas of Infusionsoft that the proper value of “No” was also represented in the database backend. This appears to not be the case.

Our decision diamonds were initially designed based on “If the Field equals No” to enter the sequence because the UI shows No, but the decision diamond failed. We started to explore if the default value in the database table for the dropdown field is No(0)? or is it Null? We now believe that no matter if the contact is created before or after the custom field was created, each contact record is initialized with something like NULL, even though the UI is showing No everywhere.

As a quick test we changed our decision diamond logic to “If the Field does not equals Yes” instead of Equals No. To our surprise, all the contacts went through the decision diamond exactly as we had expected. So now we see our assumption that the default value in the database table is not No (0) but something else.

We tested the behavior with a new custom dropdown field with default No with existing contacts and new contacts created after the field is created. We designed decision diamond with rules Equals No, Does Not Equal Yes , Equals Yes, Does Not Equal No.

Contacts with default field values entered both ‘Does not equals No’ and ‘Does Not equals Yes’ sequences which proves us that the default value is something other than Yes or No like Null.

We were initially very confused as to why the Actions / Test on the decision diamond worked exactly as we expected, yet the contacts did not follow the logic as we had tested. This further confirms that the contact database field is initialized to something like Null.

We are glad for the road block being cleared now. Hope this might help someone.

1 Like