{"id":910001,"date":"2026-11-03T09:20:52","date_gmt":"2026-11-03T08:20:52","guid":{"rendered":"https:\/\/beeclear.pl\/en\/marketing-source-tracking-complianz\/"},"modified":"2026-11-03T09:20:52","modified_gmt":"2026-11-03T08:20:52","slug":"marketing-source-tracking-complianz","status":"publish","type":"post","link":"https:\/\/beeclear.pl\/en\/marketing-source-tracking-complianz\/","title":{"rendered":"Marketing Source Tracking and Complianz \u2013 Cookie Policy and Consent"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Marketing Source Tracking is a WordPress plugin that remembers where a visit came from and adds that source to the form submission. It is made by BeeClear, a developer of WordPress plugins and smartphone apps. Complianz is a popular WordPress plugin that shows the consent banner and generates privacy documents. Since version 1.20, Marketing Source Tracking works with it directly: it describes its own cookies and reads the visitor&#8217;s decision itself. This article shows how the integration works and what is still up to you.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">What does the Marketing Source Tracking integration with Complianz do?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Marketing Source Tracking integration with Complianz covers two jobs. The first is describing the plugin&#8217;s cookies in the cookie policy \u2013 name, category, retention and purpose. The second is passing the consent from the Complianz banner to source tracking. The plugin does both on its own whenever Complianz is active on the site. The \u201cIntegrate with Complianz\u201d setting is on by default, so there is nothing to configure after the update.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Complianz groups cookies into services and categories such as Statistics and Functional. From that data it builds the policy document your visitors read. Marketing Source Tracking adds its own service under the same name. Visitors therefore see marketing source attribution described clearly, not as an anonymous line under \u201cMiscellaneous\u201d.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Which cookies does the plugin add to the cookie policy?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The plugin adds only the cookies it actually uses with the current settings. The list follows the configuration \u2013 a feature you switch off drops out at the next check. Descriptions go to Complianz in the site language and in English. Retention comes from the tracking lifetime setting, 30 days by default. Here is the full set:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Name<\/th><th>Complianz category<\/th><th>When it appears<\/th><\/tr><\/thead><tbody><tr><td>bcafc_visitor<\/td><td>Statistics<\/td><td>with marketing tracking on, only after consent<\/td><\/tr><tr><td>bcafc_attr<\/td><td>Statistics<\/td><td>with link decoration on, only after consent<\/td><\/tr><tr><td>bcafc_consent_synced<\/td><td>Functional<\/td><td>with consent sync on; a browser local storage entry<\/td><\/tr><tr><td>bcafc_optout<\/td><td>Functional<\/td><td>only when the opt-out shortcode is on the site<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The Marketing Source Tracking service gets the type \u201cmarketing source attribution\u201d in Complianz and a note that no data is shared with third parties. The privacy policy address comes from the page set in WordPress. Every entry is marked as a first-party cookie.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How does the plugin handle sites in several languages?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The plugin describes its cookies in every language Complianz supports on the site. An English version is always created, because Complianz keeps its parent records in English. In the site language the texts come from the Marketing Source Tracking translations, so a Polish site gets Polish descriptions and \u201c30 dni\u201d instead of \u201c30 days\u201d. For any other language the category name is taken from Complianz&#8217;s own translations. That way Statistics does not turn into three different labels on one policy page.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why does the plugin never overwrite your edits in Complianz?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The plugin never overwrites your edits, because the policy belongs to the site owner, not to a plugin vendor. Marketing Source Tracking adds missing entries and fills in empty fields only. A purpose you rewrote or a retention you changed in Complianz stays exactly as it is. An entry you deleted in Complianz does not come back at the next check either \u2013 that decision is yours.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Complianz scanner skips the Marketing Source Tracking cookies. The reason is practical: re-adding them would copy the English texts over the translations. The plugin registers its entries itself when an administrator opens the dashboard after a settings change. On every other visit it writes nothing, because it compares a signature of the list with the previous run.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How does the plugin read consent from the Complianz banner?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The plugin reads consent from the cookie in which Complianz stores the Statistics decision. The value \u201callow\u201d means consent to source tracking, and \u201cdeny\u201d means a refusal. The consent script also listens to Complianz events: a status change, categories firing and consent being revoked. It reacts right after the click, with no page reload.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The plugin reads the stored decision rather than the Complianz helper function. That helper answers \u201cyes\u201d for search engine bots, which would inflate the consent count. The Statistics cookie holds only a real visitor&#8217;s choice. Until someone chooses, the site&#8217;s default consent state applies \u2013 under opt-in that means no source is stored.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why read consent without Google Consent Mode?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Reading consent without Google Consent Mode shortens the path from the visitor&#8217;s choice to the plugin. Until now, Marketing Source Tracking learned about consent only from Consent Mode commands in the data layer \u2013 the analytics_storage state. With Consent Mode turned off in Complianz, or with consent relayed by a delayed tag manager, the plugin heard about it too late. Now the Complianz decision reaches the plugin regardless of Google tags.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Google Consent Mode v2 still works as before. On sites without Complianz the plugin relies on it exactly as it did before version 1.20. With Complianz active, the choice made in its banner takes precedence over analytics_storage. Both routes lead to the same result: a source is stored only with consent.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What happens when a visitor withdraws consent?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When a visitor withdraws consent in Complianz, the plugin stops storing the source on that same page. The revoke event triggers a fresh read, and the Statistics cookie already says \u201cdeny\u201d. Marketing Source Tracking treats this as a refusal and removes the bcafc_visitor cookie. Data stored earlier expires with the configured tracking lifetime.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The opt-out shortcode works independently of Complianz. A person who ticks the opt-out box deletes their record and blocks further tracking. The plugin still treats the Global Privacy Control browser signal as an objection.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Where do you turn the integration on and check its status?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You turn the integration on and check it under Integrations \u2192 Complianz in the Marketing Source Tracking menu. The tab shows the status: whether Complianz is active, which entries are listed and when the plugin last checked them. Below it, a table lists the cookies the plugin adds with the current settings. Getting started looks like this:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>update Marketing Source Tracking to version 1.20.1 or later,<\/li>\n\n\n\n<li>open the WordPress dashboard as an administrator \u2013 the plugin fills in the list itself,<\/li>\n\n\n\n<li>open Integrations \u2192 Complianz and check the list and the last check date,<\/li>\n\n\n\n<li>click \u201cUpdate the cookie list now\u201d after you change the plugin settings,<\/li>\n\n\n\n<li>open the policy on your site and find the Marketing Source Tracking service.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">What is still up to you?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">What is still up to you is a policy page that displays the document generated by Complianz. If that page holds text pasted in long ago, the new entries will never show up on it. Insert the Complianz document block with the cookie policy on that page instead. From then on the list refreshes itself after every change.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The legal basis for tracking and the description of processing in the privacy policy remain the site owner&#8217;s responsibility. The opt-out shortcode belongs on the privacy policy page. Marketing Source Tracking comes as a Premium version with a 3-day trial, and the pricing is on the plugin page. The Complianz integration is part of the plugin and needs no separate add-on.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>Marketing Source Tracking 1.20 lists its own cookies in the Complianz cookie policy and reads the Statistics consent straight from the banner.<\/p>\n","protected":false},"author":1,"featured_media":910000,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_beeclear_ctt_text":"","_beeclear_ctt_class":"","_beeclear_ctt_element":"","_beeclear_ctt_is_custom_code":false,"_ca_focus_phrase":"Complianz integration","footnotes":""},"categories":[1012],"tags":[1174],"class_list":["post-910001","post","type-post","status-publish","format-standard","has-post-thumbnail","category-plugin-articles","tag-marketing-source-tracking"],"_links":{"self":[{"href":"https:\/\/beeclear.pl\/en\/wp-json\/wp\/v2\/posts\/910001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/beeclear.pl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/beeclear.pl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/beeclear.pl\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/beeclear.pl\/en\/wp-json\/wp\/v2\/comments?post=910001"}],"version-history":[{"count":0,"href":"https:\/\/beeclear.pl\/en\/wp-json\/wp\/v2\/posts\/910001\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/beeclear.pl\/en\/wp-json\/wp\/v2\/media\/910000"}],"wp:attachment":[{"href":"https:\/\/beeclear.pl\/en\/wp-json\/wp\/v2\/media?parent=910001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/beeclear.pl\/en\/wp-json\/wp\/v2\/categories?post=910001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/beeclear.pl\/en\/wp-json\/wp\/v2\/tags?post=910001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}