{"id":2838,"date":"2023-04-12T19:45:33","date_gmt":"2023-04-12T19:45:33","guid":{"rendered":"https:\/\/obo.zoj.mybluehost.me\/uncategorized\/integration-salesforce-marketcloud-sfmc\/"},"modified":"2025-01-24T18:00:19","modified_gmt":"2025-01-24T18:00:19","slug":"integration-salesforce-marketcloud-sfmc","status":"publish","type":"post","link":"https:\/\/ioninteractive.com\/ionacademy\/integration-salesforce-marketcloud-sfmc\/","title":{"rendered":"Integration: Salesforce Marketcloud (SFMC)"},"content":{"rendered":"\n<p>Follow this step-by-step for authentication:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create a new Field Mapping (on the Integrations tab): choose an easily identifiable name. The integration must be of type &#8220;POST XML\/JSON to a web service&#8221;:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"477\" loading=\"lazy\" src=\"https:\/\/obo.zoj.mybluehost.me\/wp-content\/uploads\/2025\/01\/Screenshot_1-6-1024x477.png\" alt=\"\" class=\"wp-image-7343\" srcset=\"https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_1-6-1024x477.png 1024w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_1-6-300x140.png 300w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_1-6-768x358.png 768w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_1-6-1536x716.png 1536w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_1-6.png 1910w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In the &#8220;Post XML\/JSON&#8221; field, include the authentication data, which is passed by SFMC. Check the example below:<\/li>\n<\/ul>\n\n\n\n<p><em>{<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&#8220;grant_type&#8221;: &#8220;client_credentials&#8221;,<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&#8220;client_id&#8221;: &#8220;yourclientid&#8221;,<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&#8220;client_secret&#8221;: &#8220;yourclientsecret&#8221;,<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&#8220;scope&#8221;: &#8220;list_and_subscribers_write list_and_subscribers_read data_extensions_write data_extensions_read&#8221;<\/em><\/p>\n\n\n\n<p><em>}&nbsp;<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"576\" loading=\"lazy\" src=\"https:\/\/obo.zoj.mybluehost.me\/wp-content\/uploads\/2025\/01\/Screenshot_2-8-1024x576.png\" alt=\"\" class=\"wp-image-7344\" srcset=\"https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_2-8-1024x576.png 1024w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_2-8-300x169.png 300w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_2-8-768x432.png 768w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_2-8-1536x864.png 1536w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_2-8.png 1919w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Now create a new Integration: choose an easily identifiable name, the Field Mapping that was just created, the method, and enter the endpoint URL referring to the SFMC:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"576\" loading=\"lazy\" src=\"https:\/\/obo.zoj.mybluehost.me\/wp-content\/uploads\/2025\/01\/Screenshot_3-8-1024x576.png\" alt=\"\" class=\"wp-image-7345\" srcset=\"https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_3-8-1024x576.png 1024w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_3-8-300x169.png 300w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_3-8-768x432.png 768w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_3-8-1536x864.png 1536w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_3-8.png 1919w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Include &#8220;OAuthJSON&#8221; as a response. This information comes from the vendor&#8217;s REST API documentation:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"575\" loading=\"lazy\" src=\"https:\/\/obo.zoj.mybluehost.me\/wp-content\/uploads\/2025\/01\/Screenshot_4-7-1024x575.png\" alt=\"\" class=\"wp-image-7346\" srcset=\"https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_4-7-1024x575.png 1024w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_4-7-300x168.png 300w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_4-7-768x431.png 768w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_4-7-1536x862.png 1536w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_4-7.png 1919w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>All ready! The integration to perform the authentication was created.<\/p>\n\n\n\n<p>Below is the step-by-step process to create the integration responsible for capturing the data:<\/p>\n\n\n\n<p>Create a new Field Mapping. In the &#8220;Post XML\/JSON&#8221; field, add the code below (only to enable the save button &#8211; you will edit this field again in the future):<\/p>\n\n\n\n<p><em>{<\/em><\/p>\n\n\n\n<p><em>&#8220;values&#8221;: {<\/em><\/p>\n\n\n\n<p><em>}<\/em><\/p>\n\n\n\n<p><em>}<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"563\" loading=\"lazy\" src=\"https:\/\/obo.zoj.mybluehost.me\/wp-content\/uploads\/2025\/01\/Screenshot_5-6-1024x563.png\" alt=\"\" class=\"wp-image-7347\" srcset=\"https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_5-6-1024x563.png 1024w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_5-6-300x165.png 300w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_5-6-768x422.png 768w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_5-6-1536x844.png 1536w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_5-6.png 1919w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create an Outbound Field and choose the field you want to include:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"575\" loading=\"lazy\" src=\"https:\/\/obo.zoj.mybluehost.me\/wp-content\/uploads\/2025\/01\/Screenshot_6-5-1024x575.png\" alt=\"\" class=\"wp-image-7348\" srcset=\"https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_6-5-1024x575.png 1024w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_6-5-300x168.png 300w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_6-5-768x431.png 768w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_6-5-1536x862.png 1536w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_6-5.png 1919w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"576\" loading=\"lazy\" src=\"https:\/\/obo.zoj.mybluehost.me\/wp-content\/uploads\/2025\/01\/Screenshot_7-6-1024x576.png\" alt=\"\" class=\"wp-image-7349\" srcset=\"https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_7-6-1024x576.png 1024w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_7-6-300x169.png 300w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_7-6-768x432.png 768w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_7-6-1536x864.png 1536w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_7-6.png 1919w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>We suggest that the &#8220;Substitution term&#8221; be identical to the name of the field in Ion, to facilitate the identification and functioning of the integration:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"576\" loading=\"lazy\" src=\"https:\/\/obo.zoj.mybluehost.me\/wp-content\/uploads\/2025\/01\/Screenshot_8-6-1024x576.png\" alt=\"\" class=\"wp-image-7350\" srcset=\"https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_8-6-1024x576.png 1024w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_8-6-300x169.png 300w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_8-6-768x432.png 768w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_8-6-1536x864.png 1536w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_8-6.png 1919w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>After creating the fields, you will include the Outbound fields in the Field Mapping&#8217;s &#8220;Post XML\/JSON&#8221; field. The pattern is as follows: &#8220;Substitution Term&#8221;: &#8221; {{Field name in Ion}} &#8220;,<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"576\" loading=\"lazy\" src=\"https:\/\/obo.zoj.mybluehost.me\/wp-content\/uploads\/2025\/01\/Screenshot_9-7-1024x576.png\" alt=\"\" class=\"wp-image-7351\" srcset=\"https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_9-7-1024x576.png 1024w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_9-7-300x169.png 300w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_9-7-768x432.png 768w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_9-7-1536x864.png 1536w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_9-7.png 1919w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If you want to add a new field later, just repeat the process and remember to include the new field in the Post XML\/JSON.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"576\" loading=\"lazy\" src=\"https:\/\/obo.zoj.mybluehost.me\/wp-content\/uploads\/2025\/01\/Screenshot_10-7-1024x576.png\" alt=\"\" class=\"wp-image-7353\" srcset=\"https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_10-7-1024x576.png 1024w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_10-7-300x169.png 300w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_10-7-768x432.png 768w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_10-7-1536x864.png 1536w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_10-7.png 1919w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Now create a new Integration. The method will be &#8220;PUT&#8221;:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"576\" loading=\"lazy\" src=\"https:\/\/obo.zoj.mybluehost.me\/wp-content\/uploads\/2025\/01\/Screenshot_11-6-1024x576.png\" alt=\"\" class=\"wp-image-7354\" srcset=\"https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_11-6-1024x576.png 1024w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_11-6-300x169.png 300w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_11-6-768x432.png 768w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_11-6-1536x864.png 1536w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_11-6.png 1919w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>At the bottom, add the HTTP header: Authorization \/ Bearer {{access_token}}. An authorization Bearer is a piece of information also passed in the supplier&#8217;s documentation.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"573\" loading=\"lazy\" src=\"https:\/\/obo.zoj.mybluehost.me\/wp-content\/uploads\/2025\/01\/Screenshot_12-6-1024x573.png\" alt=\"\" class=\"wp-image-7355\" srcset=\"https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_12-6-1024x573.png 1024w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_12-6-300x168.png 300w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_12-6-768x429.png 768w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_12-6-1536x859.png 1536w, https:\/\/ioninteractive.com\/ionacademy\/wp-content\/uploads\/2025\/01\/Screenshot_12-6.png 1919w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Now that both integrations are set up, add the following rules to your creative for testing purposes:<\/p>\n\n\n\n<p><strong>Rule 1 &#8211;<\/strong> To run the authentication integration, and mark it to run again (in case a respondent comes back to the experience).<\/p>\n\n\n\n<p><strong>Rule 2 &#8211; <\/strong>Put a condition for the integration to run only if the OAuthJSON data exists. Include the action to save OAuthJSON.access_token in access_token and then run the integration.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/obo.zoj.mybluehost.me\/wp-content\/uploads\/2023\/08\/image-png-Apr-12-2023-07-45-29-8605-PM.png\" alt=\"\" \/><\/figure>\n\n\n\n<p>These rules must be present in all experiences where you want to run the integration. If more rules are used, such as calculating a respondent&#8217;s score, the integration rules must be included after the calculation rules. Rules in Ion work in chronological order, and therefore all necessary data must be worked on before activating the integration.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Follow this step-by-step for authentication: { &nbsp;&nbsp;&nbsp;&#8220;grant_type&#8221;: &#8220;client_credentials&#8221;, &nbsp;&nbsp;&nbsp;&#8220;client_id&#8221;: &#8220;yourclientid&#8221;, &nbsp;&nbsp;&nbsp;&#8220;client_secret&#8221;: &#8220;yourclientsecret&#8221;, &nbsp;&nbsp;&nbsp;&#8220;scope&#8221;: &#8220;list_and_subscribers_write list_and_subscribers_read data_extensions_write data_extensions_read&#8221; }&nbsp; All ready! The integration to perform the authentication was created. Below is the step-by-step process to [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":6000,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","footnotes":""},"categories":[2175,2078],"tags":[2173,2200,2208,2254,2220],"class_list":["post-2838","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ion-integrations-the-advanced-capabilites","category-the-advanced-capabilites","tag-advanced","tag-data-management","tag-ion-integration","tag-marketcloud","tag-salesforce"],"_links":{"self":[{"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/posts\/2838","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/comments?post=2838"}],"version-history":[{"count":3,"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/posts\/2838\/revisions"}],"predecessor-version":[{"id":7357,"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/posts\/2838\/revisions\/7357"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/media\/6000"}],"wp:attachment":[{"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/media?parent=2838"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/categories?post=2838"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ioninteractive.com\/ionacademy\/wp-json\/wp\/v2\/tags?post=2838"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}