MailChimp allows adding custom fields (merge tags) to ListMembers. Additionally, each list has its own merge tags. Since dotConnect for MailChimp presents MailChimp objects as database tables, the ListMembers object must be presented so that all its rows have the same columns.
This can be achieved in several ways. dotConnect for MailChimp determines how to present merge tags when working with the ListMembers table depending on the MergeFieldsDetectionBehavior connection string parameter. You can set it either directly via the ConnectionString property of MailChimpConnection or via the MergeFieldsDetectionBehavior property of MailChimpConnectionStringBuilder. This parameter can have one of the following values:
- None - merge tags are not read from MailChimp.
- JoinCommon (default value) - merge tags are read from MailChimp, but only the tags that are defined for all the Lists are joined to other ListMembers table columns. Other tags are ignored.
- JoinAll - all the merge tags are joined to other ListMembers table columns (except for the case described below). If a merge tag is not defined for the list, a list member belongs to, NULL value is returned for the corresponding column of this list member.
If different lists have merge tags with the same name but different type, default value, required setting, etc., these merge tags are ignored regardless of the MergeFieldsDetectionBehavior parameter. Merge tags that have the same name for different lists must be the same in order to be read by dotConnect for MailChimp.
However, if only tag values (the values in the Put this tag in your content: column on the List fields and *|MERGE|* tags tab in MailChimp list settings) are different for different lists, and type, default value, and required settings are the same, you can set the Merge Tag As Field Name connection string parameter to true and have access to merge tags that have the same labels but different tags.
This parameter determines whether to use merge tag values as column names for MailChimp merge tags instead of merge tag labels. When it is set to true, merge tag labels are completely ignored.
Note that reading merge tags can take additional time. If you don't need to work with merge tags, it's better to disable their reading by setting the MergeFieldsDetectionBehavior connection string parameter to None.
For more information about MailChimp merge tags see the MailChimp documentation.