PixelYourSite – Facebook Pixel (Events, WooCommerce & Easy Digital Downloads) - Version 8.2.0

Version Description

Download this release

Release Info

Developer PixelYourSite
Plugin Icon 128x128 PixelYourSite – Facebook Pixel (Events, WooCommerce & Easy Digital Downloads)
Version 8.2.0
Comparing to
See all releases

Code changes from version 8.1.1 to 8.2.0

dist/scripts/public.js CHANGED
@@ -517,7 +517,7 @@ if (!Array.prototype.includes) {
517
 
518
  loadPixels: function () {
519
 
520
- if (options.gdpr.ajax_enabled) {
521
 
522
  // retrieves actual PYS GDPR filters values which allow to avoid cache issues
523
  $.get({
@@ -552,6 +552,27 @@ if (!Array.prototype.includes) {
552
 
553
  consentGiven: function (pixel) {
554
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
555
  /**
556
  * Real Cookie Banner
557
  */
@@ -592,27 +613,6 @@ if (!Array.prototype.includes) {
592
 
593
  }
594
 
595
- /**
596
- * Ginger – EU Cookie Law
597
- */
598
- if (options.gdpr.ginger_integration_enabled) {
599
-
600
- var ginger_cookie = Cookies.get('ginger-cookie');
601
-
602
- if (options.gdpr[pixel + '_prior_consent_enabled']) {
603
- if (typeof ginger_cookie === 'undefined' || ginger_cookie === 'Y') {
604
- return true;
605
- }
606
- } else {
607
- if (ginger_cookie === 'Y') {
608
- return true;
609
- }
610
- }
611
-
612
- return false;
613
-
614
- }
615
-
616
  /**
617
  * Cookie Notice
618
  */
@@ -660,7 +660,94 @@ if (!Array.prototype.includes) {
660
  },
661
 
662
  setupGdprCallbacks: function () {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
663
 
 
664
  /**
665
  * Real Cookie Banner
666
  */
@@ -830,19 +917,22 @@ if (!Array.prototype.includes) {
830
 
831
  function fireEvent(name, allData) {
832
 
 
 
 
 
833
  var actionType = defaultEventTypes.includes(name) ? 'track' : 'trackCustom';
834
  var data = allData.params;
835
  var params = {};
836
  var arg = {};
837
  Utils.copyProperties(data, params);
838
 
839
-
840
  if(options.facebook.serverApiEnabled) {
841
  // fire server side event gdpr plugin installed
842
  var isApiDisabled = options.gdpr.all_disabled_by_api ||
843
  options.gdpr.facebook_disabled_by_api ||
844
  options.gdpr.cookiebot_integration_enabled ||
845
- options.gdpr.ginger_integration_enabled ||
846
  options.gdpr.cookie_notice_integration_enabled ||
847
  options.gdpr.cookie_law_info_integration_enabled;
848
 
@@ -956,11 +1046,27 @@ if (!Array.prototype.includes) {
956
  if (options.facebook.removeMetadata) {
957
  fbq('set', 'autoConfig', false, pixelId);
958
  }
959
-
960
- if(options.facebook.advancedMatching.length === 0) {
961
- fbq('init', pixelId);
 
 
 
 
 
 
 
 
 
 
 
 
962
  } else {
963
- fbq('init', pixelId, options.facebook.advancedMatching);
 
 
 
 
964
  }
965
  });
966
 
@@ -1181,6 +1287,10 @@ if (!Array.prototype.includes) {
1181
  */
1182
  function fireEvent(name, data) {
1183
 
 
 
 
 
1184
  var eventParams = Utils.copyProperties(data, {});
1185
 
1186
  var _fireEvent = function (tracking_id) {
517
 
518
  loadPixels: function () {
519
 
520
+ if (options.gdpr.ajax_enabled && !options.gdpr.consent_magic_integration_enabled) {
521
 
522
  // retrieves actual PYS GDPR filters values which allow to avoid cache issues
523
  $.get({
552
 
553
  consentGiven: function (pixel) {
554
 
555
+ /**
556
+ * ConsentMagic
557
+ */
558
+ if (options.gdpr.consent_magic_integration_enabled) {
559
+
560
+ var cs_cookie = Cookies.get('cs_viewed_cookie_policy'+test_prefix);
561
+
562
+ if (options.gdpr[pixel + '_prior_consent_enabled']) {
563
+ if (typeof cs_cookie === 'undefined' || cs_cookie === 'yes') {
564
+ return true;
565
+ }
566
+ } else {
567
+ if (cs_cookie === 'yes') {
568
+ return true;
569
+ }
570
+ }
571
+
572
+ return false;
573
+
574
+ }
575
+
576
  /**
577
  * Real Cookie Banner
578
  */
613
 
614
  }
615
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
616
  /**
617
  * Cookie Notice
618
  */
660
  },
661
 
662
  setupGdprCallbacks: function () {
663
+ /**
664
+ * ConsentMagic
665
+ */
666
+ if (options.gdpr.consent_magic_integration_enabled) {
667
+ var test_prefix = CS_Data.test_prefix;
668
+ var cs_refresh_after_consent = false;
669
+ if (CS_Data.cs_refresh_after_consent == 1) {
670
+ cs_refresh_after_consent = CS_Data.cs_refresh_after_consent;
671
+ }
672
+ if (!cs_refresh_after_consent) {
673
+ jQuery('.custom-switch-input').each(function() {
674
+ categoryCookie_name = jQuery(this).attr('id');
675
+ var cs_cookie_val = Cookies.get(categoryCookie_name);
676
+ categoryCookie = categoryCookie_name.replace('cs_enabled_cookie_term'+test_prefix+'_','');
677
+ if(cs_cookie_val == 'yes') {
678
+ if (categoryCookie === CS_Data.cs_script_cat.facebook) {
679
+ Facebook.loadPixel();
680
+ } else if (categoryCookie === CS_Data.cs_script_cat.bing) {
681
+ Bing.loadPixel();
682
+ } else if (categoryCookie === CS_Data.cs_script_cat.analytics) {
683
+ Analytics.loadPixel();
684
+ } else if (categoryCookie === CS_Data.cs_script_cat.gads) {
685
+ GAds.loadPixel();
686
+ } else if (categoryCookie === CS_Data.cs_script_cat.pinterest) {
687
+ Pinterest.loadPixel();
688
+ }
689
+ } else {
690
+ if (categoryCookie === CS_Data.cs_script_cat.facebook) {
691
+ Facebook.disable();
692
+ } else if (categoryCookie === CS_Data.cs_script_cat.bing) {
693
+ Bing.disable();
694
+ } else if (categoryCookie === CS_Data.cs_script_cat.analytics) {
695
+ Analytics.disable();
696
+ } else if (categoryCookie === CS_Data.cs_script_cat.gads) {
697
+ GAds.disable();
698
+ } else if (categoryCookie === CS_Data.cs_script_cat.pinterest) {
699
+ Pinterest.disable();
700
+ }
701
+ }
702
+ if (jQuery('#cs_enabled_advanced_matching'+test_prefix).length > 0 && jQuery('#cs_enabled_advanced_matching'+test_prefix).is(':checked')) {
703
+ Facebook.loadPixel();
704
+ }
705
+ });
706
+
707
+ if (CS_Data.cs_track_analytics === '1') {
708
+ $(document).on('each', '.custom-switch-input', function () {
709
+ categoryCookie_name = jQuery(this).attr('id');
710
+ var cs_cookie_val = Cookies.get(categoryCookie_name);
711
+ categoryCookie = categoryCookie_name.replace('cs_enabled_cookie_term'+test_prefix+'_','');
712
+ if(cs_cookie_val == 'yes') {
713
+ if (categoryCookie === CS_Data.cs_script_cat.facebook) {
714
+ Facebook.loadPixel();
715
+ console.log('load cs_track_analytics');
716
+ } else if (categoryCookie === CS_Data.cs_script_cat.bing) {
717
+ Bing.loadPixel();
718
+ } else if (categoryCookie === CS_Data.cs_script_cat.analytics) {
719
+ Analytics.loadPixel();
720
+ } else if (categoryCookie === CS_Data.cs_script_cat.gads) {
721
+ GAds.loadPixel();
722
+ } else if (categoryCookie === CS_Data.cs_script_cat.pinterest) {
723
+ Pinterest.loadPixel();
724
+ }
725
+ }
726
+ });
727
+ }
728
+
729
+ $(document).on('click','.cs_action_btn',function(e) {
730
+ e.preventDefault();
731
+ var elm = $(this),
732
+ button_action = elm.attr('data-cs_action');
733
+
734
+ if(button_action === 'allow_all') {
735
+ Facebook.loadPixel();
736
+ Bing.loadPixel();
737
+ Analytics.loadPixel();
738
+ GAds.loadPixel();
739
+ Pinterest.loadPixel();
740
+ } else if(button_action === 'disable_all') {
741
+ Facebook.disable();
742
+ Bing.disable();
743
+ Analytics.disable();
744
+ GAds.disable();
745
+ Pinterest.disable();
746
+ }
747
+ });
748
+ }
749
 
750
+ }
751
  /**
752
  * Real Cookie Banner
753
  */
917
 
918
  function fireEvent(name, allData) {
919
 
920
+ if(typeof window.pys_event_data_filter === "function" && window.pys_disable_event_filter(name,'facebook')) {
921
+ return;
922
+ }
923
+
924
  var actionType = defaultEventTypes.includes(name) ? 'track' : 'trackCustom';
925
  var data = allData.params;
926
  var params = {};
927
  var arg = {};
928
  Utils.copyProperties(data, params);
929
 
 
930
  if(options.facebook.serverApiEnabled) {
931
  // fire server side event gdpr plugin installed
932
  var isApiDisabled = options.gdpr.all_disabled_by_api ||
933
  options.gdpr.facebook_disabled_by_api ||
934
  options.gdpr.cookiebot_integration_enabled ||
935
+ options.gdpr.consent_magic_integration_enabled ||
936
  options.gdpr.cookie_notice_integration_enabled ||
937
  options.gdpr.cookie_law_info_integration_enabled;
938
 
1046
  if (options.facebook.removeMetadata) {
1047
  fbq('set', 'autoConfig', false, pixelId);
1048
  }
1049
+ if (options.gdpr.consent_magic_integration_enabled) {
1050
+ if(options.facebook.advancedMatching.length === 0) {
1051
+ fbq('init', pixelId);
1052
+ } else {
1053
+ var cs_advanced_matching = Cookies.get('cs_enabled_advanced_matching'+test_prefix);
1054
+ if (jQuery('#cs_enabled_advanced_matching'+test_prefix).length > 0) {
1055
+ if (cs_advanced_matching == 'yes') {
1056
+ fbq('init', pixelId, options.facebook.advancedMatching);
1057
+ } else {
1058
+ fbq('init', pixelId);
1059
+ }
1060
+ } else {
1061
+ fbq('init', pixelId, options.facebook.advancedMatching);
1062
+ }
1063
+ }
1064
  } else {
1065
+ if (options.facebook.advancedMatching.length === 0) {
1066
+ fbq('init', pixelId);
1067
+ } else {
1068
+ fbq('init', pixelId, options.facebook.advancedMatching);
1069
+ }
1070
  }
1071
  });
1072
 
1287
  */
1288
  function fireEvent(name, data) {
1289
 
1290
+ if(typeof window.pys_event_data_filter === "function" && window.pys_disable_event_filter(name,'ga')) {
1291
+ return;
1292
+ }
1293
+
1294
  var eventParams = Utils.copyProperties(data, {});
1295
 
1296
  var _fireEvent = function (tracking_id) {
dist/styles/admin.css CHANGED
@@ -23,4 +23,33 @@
23
  #pys #gan_settings_switch:checked + .settings_content,
24
  #pys #fb_settings_switch:checked + .settings_content {
25
  display: block;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  }
23
  #pys #gan_settings_switch:checked + .settings_content,
24
  #pys #fb_settings_switch:checked + .settings_content {
25
  display: block;
26
+ }
27
+
28
+ #pys .pys_btn_orange {
29
+ color: #fff;
30
+ background-color: #ef7908;
31
+ border-color: #ef7908;
32
+ margin: 15px auto;
33
+ padding: 1rem 1.5rem;
34
+ font-size: 1rem;
35
+ }
36
+ #pys .pys_btn_orange:hover{
37
+ color: #fff;
38
+ background-color: #ca6607;
39
+ border-color: #be6006;
40
+ }
41
+
42
+ #pys .orange {
43
+ color: #ef7908;
44
+ }
45
+
46
+ #pys a.orange:hover {
47
+ color: #ca6607;
48
+ }
49
+ #pys ul.pys_list {
50
+ list-style: disc;
51
+ padding-left: 20px;
52
+ }
53
+ #pys ul.pys_list li {
54
+ margin-bottom: 1.1em;
55
  }
facebook-pixel-master.php CHANGED
@@ -3,8 +3,8 @@
3
  /**
4
  * Plugin Name: PixelYourSite
5
  * Plugin URI: http://www.pixelyoursite.com/
6
- * Description: No coding <strong>Facebook Pixel, Facebook Converion API,</strong> and <strong>Google Analytics</strong> install. Track key actions with our Signal event, or configure your own events. WooCommerce and EDD fully supported, with Facebook Dynamic Ads Pixel set-up and Google Analytics Enhanced Ecommerce. Insert any custom script with our Head & Footer option. Add the <strong>Pinterest Tag</strong> with our free add-on. The PRO version adds support for the Google Ads tag plus a lot of extra stuff. Facebook Conversion API (CAPI) support.
7
- * Version: 8.1.1
8
  * Author: PixelYourSite
9
  * Author URI: http://www.pixelyoursite.com
10
  * License: GPLv3
3
  /**
4
  * Plugin Name: PixelYourSite
5
  * Plugin URI: http://www.pixelyoursite.com/
6
+ * Description: No coding <strong>Facebook Pixel, Facebook Converion API,</strong> and <strong>Google Analytics</strong> install. Track key actions with our Signal event, or configure your own events. WooCommerce and EDD fully supported, with Facebook Dynamic Ads Pixel set-up and Google Analytics Enhanced Ecommerce. Insert any custom script with our Head & Footer option. Add the <strong>Pinterest Tag</strong> with our free add-on. The PRO version adds support for the Google Ads tag plus a lot of extra stuff. Full support for ConsentMagic.com.
7
+ * Version: 8.2.0
8
  * Author: PixelYourSite
9
  * Author URI: http://www.pixelyoursite.com
10
  * License: GPLv3
includes/class-events-manager.php CHANGED
@@ -86,11 +86,9 @@ class EventsManager {
86
  'cookiebot_google_ads_consent_category' => PYS()->getOption( 'gdpr_cookiebot_google_ads_consent_category' ),
87
  'cookiebot_pinterest_consent_category' => PYS()->getOption( 'gdpr_cookiebot_pinterest_consent_category' ),
88
  'cookiebot_bing_consent_category' => PYS()->getOption( 'gdpr_cookiebot_bing_consent_category' ),
89
-
90
- 'real_cookie_banner_integration_enabled' => PYS()->getOption( 'gdpr_real_cookie_banner_integration_enabled' ),
91
-
92
- 'ginger_integration_enabled' => isGingerPluginActivated() && PYS()->getOption( 'gdpr_ginger_integration_enabled' ),
93
- 'cookie_notice_integration_enabled' => isCookieNoticePluginActivated() && PYS()->getOption( 'gdpr_cookie_notice_integration_enabled' ),
94
  'cookie_law_info_integration_enabled' => isCookieLawInfoPluginActivated() && PYS()->getOption( 'gdpr_cookie_law_info_integration_enabled' ),
95
  );
96
 
@@ -334,7 +332,8 @@ class EventsManager {
334
  return apply_filters( 'pys_disable_by_gdpr', false ) ||
335
  apply_filters( 'pys_disable_facebook_by_gdpr', false ) ||
336
  isCookiebotPluginActivated() && PYS()->getOption( 'gdpr_cookiebot_integration_enabled' ) ||
337
- isGingerPluginActivated() && PYS()->getOption( 'gdpr_ginger_integration_enabled' ) ||
 
338
  isCookieNoticePluginActivated() && PYS()->getOption( 'gdpr_cookie_notice_integration_enabled' ) ||
339
  isCookieLawInfoPluginActivated() && PYS()->getOption( 'gdpr_cookie_law_info_integration_enabled' );
340
  }
86
  'cookiebot_google_ads_consent_category' => PYS()->getOption( 'gdpr_cookiebot_google_ads_consent_category' ),
87
  'cookiebot_pinterest_consent_category' => PYS()->getOption( 'gdpr_cookiebot_pinterest_consent_category' ),
88
  'cookiebot_bing_consent_category' => PYS()->getOption( 'gdpr_cookiebot_bing_consent_category' ),
89
+ 'consent_magic_integration_enabled' => isConsentMagicPluginActivated() && PYS()->getOption( 'consent_magic_integration_enabled' ),
90
+ 'real_cookie_banner_integration_enabled' => isRealCookieBannerPluginActivated() && PYS()->getOption( 'gdpr_real_cookie_banner_integration_enabled' ),
91
+ 'cookie_notice_integration_enabled' => isCookieNoticePluginActivated() && PYS()->getOption( 'gdpr_cookie_notice_integration_enabled' ),
 
 
92
  'cookie_law_info_integration_enabled' => isCookieLawInfoPluginActivated() && PYS()->getOption( 'gdpr_cookie_law_info_integration_enabled' ),
93
  );
94
 
332
  return apply_filters( 'pys_disable_by_gdpr', false ) ||
333
  apply_filters( 'pys_disable_facebook_by_gdpr', false ) ||
334
  isCookiebotPluginActivated() && PYS()->getOption( 'gdpr_cookiebot_integration_enabled' ) ||
335
+ isConsentMagicPluginActivated() && PYS()->getOption( 'consent_magic_integration_enabled' ) ||
336
+ isRealCookieBannerPluginActivated() && PYS()->getOption( 'gdpr_real_cookie_banner_integration_enabled' ) ||
337
  isCookieNoticePluginActivated() && PYS()->getOption( 'gdpr_cookie_notice_integration_enabled' ) ||
338
  isCookieLawInfoPluginActivated() && PYS()->getOption( 'gdpr_cookie_law_info_integration_enabled' );
339
  }
includes/class-pys.php CHANGED
@@ -577,6 +577,7 @@ final class PYS extends Settings implements Plugin {
577
  $this->updateOptions( array(
578
  'gdpr_ajax_enabled' => true,
579
  'gdpr_cookie_law_info_integration_enabled' => true,
 
580
  ) );
581
 
582
  add_action( 'admin_notices', 'PixelYourSite\adminGdprAjaxEnabledNotice' );
577
  $this->updateOptions( array(
578
  'gdpr_ajax_enabled' => true,
579
  'gdpr_cookie_law_info_integration_enabled' => true,
580
+ 'consent_magic_integration_enabled' => true,
581
  ) );
582
 
583
  add_action( 'admin_notices', 'PixelYourSite\adminGdprAjaxEnabledNotice' );
includes/functions-admin.php CHANGED
@@ -76,6 +76,12 @@ function getAdminPrimaryNavTabs() {
76
  );
77
 
78
  }
 
 
 
 
 
 
79
 
80
  return $tabs;
81
 
@@ -106,11 +112,6 @@ function getAdminSecondaryNavTabs() {
106
  'name' => 'Head & Footer',
107
  );
108
 
109
- $tabs['gdpr'] = array(
110
- 'url' => buildAdminUrl( 'pixelyoursite', 'gdpr' ),
111
- 'name' => 'GDPR',
112
- );
113
-
114
  return $tabs;
115
 
116
  }
76
  );
77
 
78
  }
79
+
80
+ $tabs['gdpr'] = array(
81
+ 'url' => buildAdminUrl( 'pixelyoursite', 'gdpr' ),
82
+ 'name' => 'Consent',
83
+ 'class' => 'orange'
84
+ );
85
 
86
  return $tabs;
87
 
112
  'name' => 'Head & Footer',
113
  );
114
 
 
 
 
 
 
115
  return $tabs;
116
 
117
  }
includes/functions-gdpr.php CHANGED
@@ -6,6 +6,36 @@ if ( ! defined( 'ABSPATH' ) ) {
6
  exit; // Exit if accessed directly.
7
  }
8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  /**
10
  * @link https://wordpress.org/plugins/ginger/
11
  */
6
  exit; // Exit if accessed directly.
7
  }
8
 
9
+ /**
10
+ * ConsentMagic
11
+ */
12
+ function isConsentMagicPluginActivated() {
13
+
14
+ if ( ! function_exists( 'is_plugin_active' ) ) {
15
+ include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
16
+ }
17
+
18
+ return is_plugin_active( 'consent-magic-pro/consent-magic-pro.php' );
19
+
20
+ }
21
+ function isConsentMagicPluginInstalled() {
22
+
23
+ if ( ! function_exists( 'is_plugin_active' ) ) {
24
+ include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
25
+ }
26
+ $installed_plugins = get_plugins();
27
+ $plugin_slug = "consent-magic-pro/consent-magic-pro.php";
28
+ return array_key_exists( $plugin_slug, $installed_plugins ) || in_array( $plugin_slug, $installed_plugins, true );
29
+
30
+ }
31
+
32
+ function isConsentMagicPluginLicenceActivated() {
33
+ $id = get_option('cs_product_id');
34
+ if($id && get_option('wc_am_client_'.$id.'_activated') == 'Activated') {
35
+ return true;
36
+ }
37
+ return false;
38
+ }
39
  /**
40
  * @link https://wordpress.org/plugins/ginger/
41
  */
includes/functions-migrate.php CHANGED
@@ -65,8 +65,6 @@ function migrate_v5_free_options() {
65
  $v7_core = array(
66
  'gdpr_facebook_prior_consent_enabled' => isset( $v5_free['gdpr']['enable_before_consent'] ) ? $v5_free['gdpr']['enable_before_consent'] : null,
67
  'gdpr_cookiebot_integration_enabled' => isset( $v5_free['gdpr']['cookiebot_enabled'] ) ? $v5_free['gdpr']['cookiebot_enabled'] : null,
68
- 'gdpr_ginger_integration_enabled' => isset( $v5_free['gdpr']['ginger_enabled'] ) ? $v5_free['gdpr']['ginger_enabled'] : null,
69
-
70
  'general_event_name' => isset( $v5_free['general']['general_event_name'] ) ? $v5_free['general']['general_event_name'] : null,
71
  'general_event_delay' => isset( $v5_free['general']['general_event_delay'] ) ? $v5_free['general']['general_event_delay'] : null,
72
  'general_event_on_posts_enabled' => isset( $v5_free['general']['general_event_on_posts_enabled'] ) ? $v5_free['general']['general_event_on_posts_enabled'] : null,
65
  $v7_core = array(
66
  'gdpr_facebook_prior_consent_enabled' => isset( $v5_free['gdpr']['enable_before_consent'] ) ? $v5_free['gdpr']['enable_before_consent'] : null,
67
  'gdpr_cookiebot_integration_enabled' => isset( $v5_free['gdpr']['cookiebot_enabled'] ) ? $v5_free['gdpr']['cookiebot_enabled'] : null,
 
 
68
  'general_event_name' => isset( $v5_free['general']['general_event_name'] ) ? $v5_free['general']['general_event_name'] : null,
69
  'general_event_delay' => isset( $v5_free['general']['general_event_delay'] ) ? $v5_free['general']['general_event_delay'] : null,
70
  'general_event_on_posts_enabled' => isset( $v5_free['general']['general_event_on_posts_enabled'] ) ? $v5_free['general']['general_event_on_posts_enabled'] : null,
includes/options_defaults.json CHANGED
@@ -67,11 +67,11 @@
67
  "gdpr_cookiebot_analytics_consent_category": "statistics",
68
  "gdpr_cookiebot_pinterest_consent_category": "marketing",
69
  "gdpr_cookiebot_bing_consent_category": "marketing",
70
- "gdpr_ginger_integration_enabled": false,
71
  "gdpr_cookie_notice_integration_enabled": false,
72
  "gdpr_cookie_law_info_integration_enabled": false,
73
  "gdpr_ajax_enabled": false,
74
  "gdpr_real_cookie_banner_integration_enabled": false,
 
75
 
76
  "woo_purchase_value_cog": "",
77
  "woo_content_value_cog": "",
67
  "gdpr_cookiebot_analytics_consent_category": "statistics",
68
  "gdpr_cookiebot_pinterest_consent_category": "marketing",
69
  "gdpr_cookiebot_bing_consent_category": "marketing",
 
70
  "gdpr_cookie_notice_integration_enabled": false,
71
  "gdpr_cookie_law_info_integration_enabled": false,
72
  "gdpr_ajax_enabled": false,
73
  "gdpr_real_cookie_banner_integration_enabled": false,
74
+ "consent_magic_integration_enabled": true,
75
 
76
  "woo_purchase_value_cog": "",
77
  "woo_content_value_cog": "",
includes/options_fields.json CHANGED
@@ -56,11 +56,11 @@
56
  "gdpr_cookiebot_analytics_consent_category": "text",
57
  "gdpr_cookiebot_pinterest_consent_category": "text",
58
  "gdpr_cookiebot_bing_consent_category": "text",
59
- "gdpr_ginger_integration_enabled": "checkbox",
60
  "gdpr_cookie_notice_integration_enabled": "checkbox",
61
  "gdpr_cookie_law_info_integration_enabled": "checkbox",
62
  "gdpr_ajax_enabled": "checkbox",
63
  "gdpr_real_cookie_banner_integration_enabled": "checkbox",
 
64
 
65
  "woo_purchase_value_cog": "radio",
66
  "woo_content_value_cog": "radio",
56
  "gdpr_cookiebot_analytics_consent_category": "text",
57
  "gdpr_cookiebot_pinterest_consent_category": "text",
58
  "gdpr_cookiebot_bing_consent_category": "text",
 
59
  "gdpr_cookie_notice_integration_enabled": "checkbox",
60
  "gdpr_cookie_law_info_integration_enabled": "checkbox",
61
  "gdpr_ajax_enabled": "checkbox",
62
  "gdpr_real_cookie_banner_integration_enabled": "checkbox",
63
+ "consent_magic_integration_enabled": "checkbox",
64
 
65
  "woo_purchase_value_cog": "radio",
66
  "woo_content_value_cog": "radio",
includes/views/html-gdpr.php CHANGED
@@ -7,111 +7,95 @@ if ( ! defined( 'ABSPATH' ) ) {
7
  }
8
 
9
  ?>
10
-
11
- <h2 class="section-title">GDPR Settings</h2>
12
-
13
  <div class="card card-static">
14
- <div class="card-header">
15
- General
16
- </div>
17
- <div class="card-body">
18
- <div class="row">
19
- <div class="col">
20
- <p>According to GDPR (EU regulation), you'll have to inform and gather consent from your website
21
- visitors about the way you use their private data.</p>
22
- <p>PixelYourSite implements by default 3 different tracking codes: the Facebook pixel, Google Analytics,
23
- and the Pinterest tag. Chances are that you have other scripts or third-party cookies running on
24
- your website (embedded videos, ad networks, chats, etc).</p>
25
- <p>We suggest you globally manage cookie consent with a dedicated solution. On this page, we will list a
26
- few of them and we will also offer "filters" that developers can make use of.</p>
27
- <p>It's also important to understand what each network does and to inform your users accordingly.</p>
28
- <p class="mb-4">For more information about PixelYourSite and GDPR visit our <a
29
- href="https://www.pixelyoursite.com/gdpr-cookie-compliance?utm_source=pixelyoursite-free-plugin&utm_medium=plugin&utm_campaign=free-plugin-gdpr" target="_blank">dedicated
30
- page</a>.</p>
31
-
32
- <h3>Facebook Pixel</h3>
33
- <p>It is used for Facebook Ads and Facebook Analytics. It does use private data and you will need to ask
34
- for prior consent.</p>
35
- <p class="mb-4">Facebook also has also implemented flexible ways for their users to see and control how
36
- the pixel is used o partner websites. Inform your users about it: <a target="_blank"
37
- href="https://www.facebook.com/ads/preferences/?entry_product=ad_settings_screen">
38
- https://www.facebook.com/ads/preferences/?entry_product=ad_settings_screen</a></p>
39
-
40
- <h3>Google Analytics</h3>
41
- <p>By default, Google Analytics doesn't track private data. This implementation will probably not
42
- require prior consent. If you turn on Google Analytics Advertising features, Remarketing features,
43
- or if you link your Analytics account to your AdSense account, you will start to send personal data.
44
- In this case, prior consent is required.</p>
45
- <p class="mb-4">Inform your users that they can control their privacy settings from here:
46
- <a target="_blank" href="https://adssettings.google.com/authenticated">https://adssettings.google.com/authenticated</a></p>
47
-
48
- <h3>Google Ads</h3>
49
- <p>It is used for Google Ads. It does use private data and you will need to ask for prior consent.</p>
50
- <p class="mb-4">Inform your users that they can control their privacy settings from here:
51
- <a target="_blank" href="https://adssettings.google.com/authenticated">https://adssettings.google.com/authenticated</a>
52
- </p>
53
-
54
- <h3>Pinterest Tag</h3>
55
- <p>It is used for Pinterest ads and does use private data that can identify your users. You will need to
56
- ask for prior consent.</p>
57
- <p class="mb-0">Inform your users that they can control privacy settings from here:
58
- <a target="_blank" href="https://www.pinterest.com/settings/">https://www.pinterest.com/settings/</a></p>
59
- </div>
60
- </div>
61
- </div>
62
- </div>
63
-
64
- <!-- Prior Consent -->
65
- <div class="card card-static">
66
- <div class="card-header">
67
- Cookie Consent Integrations
68
- </div>
69
- <div class="card-body">
70
- <div class="row">
71
- <div class="col">
72
- <?php PYS()->render_switcher_input( 'gdpr_facebook_prior_consent_enabled' ); ?>
73
- <h4 class="switcher-label">Enable the Facebook Pixel tracking before consent is capture (this might not
74
- be GDPR compliant)</h4>
75
- </div>
76
- </div>
77
- <div class="row mt-3">
78
- <div class="col">
79
- <?php PYS()->render_switcher_input( 'gdpr_analytics_prior_consent_enabled' ); ?>
80
- <h4 class="switcher-label">Enable Google Analytics tracking before consent is capture (if your Google
81
- Analytics has advertising or remarketing features enabled, this might not be GDPR compliant)</h4>
82
- </div>
83
- </div>
84
- <div class="row mt-3">
85
  <div class="col">
86
- <?php PYS()->render_switcher_input( 'gdpr_google_ads_prior_consent_enabled' ); ?>
87
- <h4 class="switcher-label">Enable Google Ads tracking before consent is capture (if your Google
88
- Ads has advertising or remarketing features enabled, this might not be GDPR compliant)</h4>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
  </div>
 
90
  </div>
91
- <div class="row mt-3">
92
- <div class="col">
93
- <?php PYS()->render_switcher_input( 'gdpr_pinterest_prior_consent_enabled' ); ?>
94
- <h4 class="switcher-label">Enable the Pinterest Tag tracking before consent is capture (this might not
95
- be GDPR compliant)</h4>
 
96
  </div>
97
- </div>
98
- <div class="row mt-3">
 
 
 
 
 
 
 
 
 
99
  <div class="col">
100
- <?php PYS()->render_switcher_input( 'gdpr_bing_prior_consent_enabled' ); ?>
101
- <h4 class="switcher-label">Enable the Bing Tag tracking before consent is capture (this might not
102
- be GDPR compliant)</h4>
 
103
  </div>
104
  </div>
105
- </div>
106
  </div>
107
 
 
 
108
  <!-- Cookiebot -->
109
- <div class="card card-static">
110
  <div class="card-header">
111
  <?php if ( ! isCookiebotPluginActivated() ) : ?>
112
- Cookiebot <span class="text-danger">[not detected]</span>
113
  <?php else: ?>
114
- Cookiebot <span class="text-success">[detected]</span>
115
  <?php endif; ?>
116
  </div>
117
  <div class="card-body">
@@ -181,41 +165,13 @@ if ( ! defined( 'ABSPATH' ) ) {
181
  </div>
182
  </div>
183
 
184
- <!-- Ginger – EU Cookie Law -->
185
- <div class="card card-static">
186
- <div class="card-header">
187
- <?php if ( ! isGingerPluginActivated() ) : ?>
188
- Ginger – EU Cookie Law <span class="text-danger">[not detected]</span>
189
- <?php else: ?>
190
- Ginger – EU Cookie Law <span class="text-success">[detected]</span>
191
- <?php endif; ?>
192
- </div>
193
- <div class="card-body">
194
- <div class="row">
195
- <div class="col">
196
- <p>This free plugin offers an interesting cookie consent integration with the possibility to turn OFF
197
- cookies before consent is given.</p>
198
- <p class="mb-0">Plugin: <a href="https://wordpress.org/plugins/ginger/" target="_blank">https://wordpress.org/plugins/ginger/</a>
199
- </p>
200
- </div>
201
- </div>
202
- <div class="row mt-3">
203
- <div class="col">
204
- <?php PYS()->render_switcher_input( 'gdpr_ginger_integration_enabled', false,
205
- ! isGingerPluginActivated() ); ?>
206
- <h4 class="switcher-label">Enable Ginger – EU Cookie Law integration</h4>
207
- </div>
208
- </div>
209
- </div>
210
- </div>
211
-
212
  <!-- Cookie Notice -->
213
- <div class="card card-static">
214
  <div class="card-header">
215
  <?php if ( ! isCookieNoticePluginActivated() ) : ?>
216
- Cookie Notice <span class="text-danger">[not detected]</span>
217
  <?php else: ?>
218
- Cookie Notice <span class="text-success">[detected]</span>
219
  <?php endif; ?>
220
  </div>
221
  <div class="card-body">
@@ -237,12 +193,12 @@ if ( ! defined( 'ABSPATH' ) ) {
237
  </div>
238
 
239
  <!-- Cookie Law Info -->
240
- <div class="card card-static">
241
  <div class="card-header">
242
  <?php if ( ! isCookieLawInfoPluginActivated() ) : ?>
243
- GDPR Cookie Consent <span class="text-danger">[not detected]</span>
244
  <?php else: ?>
245
- GDPR Cookie Consent <span class="text-success">[detected]</span>
246
  <?php endif; ?>
247
  </div>
248
  <div class="card-body">
@@ -264,12 +220,12 @@ if ( ! defined( 'ABSPATH' ) ) {
264
  </div>
265
 
266
  <!-- Real Cookie Banner -->
267
- <div class="card card-static">
268
  <div class="card-header">
269
  <?php if ( ! isRealCookieBannerPluginActivated() ) : ?>
270
- Real Cookie Banner <span class="text-danger">[not detected]</span>
271
  <?php else: ?>
272
- Real Cookie Banner <span class="text-success">[detected]</span>
273
  <?php endif; ?>
274
  </div>
275
  <div class="card-body">
7
  }
8
 
9
  ?>
10
+ <!-- Consent Magic -->
 
 
11
  <div class="card card-static">
12
+ <div class="card-header">
13
+ Consent Magic - Recommended
14
+ </div>
15
+ <div class="card-body">
16
+ <?php if (isConsentMagicPluginInstalled()) : ?>
17
+ <?php if (isConsentMagicPluginActivated()) : ?>
18
+ <div class="row">
19
+ <div class="col">
20
+ Manage your consent settings with
21
+ <?php if (isConsentMagicPluginLicenceActivated()) { ?>
22
+ <a href="<?=admin_url("admin.php?page=consent-magic")?>">Consent Magic.</a>
23
+ <?php } else { ?>
24
+ <a href="<?=admin_url("admin.php?page=cs-license")?>">Consent Magic.</a>
25
+ <?php } ?>
26
+ </div>
27
+ </div>
28
+ <?php else: ?>
29
+ <div class="row">
30
+ <div class="col">
31
+ You have Consent Magic installed, but it’s not activated yet. Go to the Plugins page and activate
32
+ <a href="<?=admin_url("plugins.php")?>">Consent Magic.</a>
33
+ </div>
34
+ </div>
35
+ <?php endif; ?>
36
+ <?php else: ?>
37
+ <div class="row">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  <div class="col">
39
+ <p>Ask for consent the right way, block scripts and cookies when required.</p>
40
+ <p><strong>Manage different type of consent:</strong></p>
41
+ <ul class="pys_list">
42
+ <li><strong>Ask before tracking:</strong> show a consent message and block the tracking scripts before the
43
+ visitor expresses consent - ideal for GDPR.</li>
44
+ <li><strong>Inform and opt out:</strong> show a consent message, and block the tracking scripts if the visitor
45
+ doesn’t agree to tracking - ideal for CCPA.</li>
46
+ <li><strong>Just inform:</strong> show a non-intrusive message informing your visitors about tracking.</li>
47
+ </ul>
48
+ <p><strong>Use geo-targeted rules:</strong></p>
49
+ <p>Target your visitors with the right rule based on their location. Rules can have different consent types
50
+ and different content. The plugin comes with the ready-made rules:</p>
51
+ <ul class="pys_list">
52
+ <li><strong>GDPR rule:</strong> targets visitors from GDPR countries, and uses Ask before tracking consent
53
+ type.</li>
54
+ <li><strong>CCPA rule:</strong> targets visitors from California, and uses Inform and opt-out consent type.</li>
55
+ <li><strong>Rest of the world rule:</strong> targets visitors from other locations and uses Just inform consent
56
+ type</li>
57
+ <li><strong>Your own rule:</strong> create any rules you need, target any countries, and use custom text for them.</li>
58
+ </ul>
59
  </div>
60
+
61
  </div>
62
+ <div class="row justify-content-center">
63
+ <div class="col-4">
64
+ <a href="https://www.consentmagic.com/?utm_source=pys&utm_medium=free-plugin&utm_campaign=consent-page" target="_blank" class="btn btn-sm pys_btn_orange">
65
+ Lean more about Consent Magic
66
+ </a>
67
+ </div>
68
  </div>
69
+ <?php endif; ?>
70
+ </div>
71
+ </div>
72
+
73
+ <!-- Video -->
74
+ <div class="card card-static">
75
+ <div class="card-header">
76
+ Recommended Consent Videos:
77
+ </div>
78
+ <div class="card-body">
79
+ <div class="row">
80
  <div class="col">
81
+ <p><a href="https://www.youtube.com/watch?v=uXTpgFu2V-E" target="_blank">The biggest problem with consent messages (7:02 min) - watch now</a></p>
82
+ <p><a href="https://www.youtube.com/watch?v=ZOlNbIPS_Uc" target="_blank">Target your visitors with the right consent rule (12:29 min) - watch now</a></p>
83
+ <p><a href="https://www.youtube.com/watch?v=P8CLxslSPDk" target="_blank">The right to change your mind (2:46 min) - watch now</a></p>
84
+ <p><a href="https://www.youtube.com/watch?v=PsKdCkKNeLU" target="_blank">Facebook Conversion API and the Consent Problem (9:25 min) - watch now</a></p>
85
  </div>
86
  </div>
87
+ </div>
88
  </div>
89
 
90
+ <h2 class="section-title">Other consent plugins:</h2>
91
+
92
  <!-- Cookiebot -->
93
+ <div class="card">
94
  <div class="card-header">
95
  <?php if ( ! isCookiebotPluginActivated() ) : ?>
96
+ Cookiebot <span class="text-danger">[not detected]</span><?php cardCollapseBtn(); ?>
97
  <?php else: ?>
98
+ Cookiebot <span class="text-success">[detected]</span><?php cardCollapseBtn(); ?>
99
  <?php endif; ?>
100
  </div>
101
  <div class="card-body">
165
  </div>
166
  </div>
167
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
168
  <!-- Cookie Notice -->
169
+ <div class="card ">
170
  <div class="card-header">
171
  <?php if ( ! isCookieNoticePluginActivated() ) : ?>
172
+ Cookie Notice <span class="text-danger">[not detected]</span><?php cardCollapseBtn(); ?>
173
  <?php else: ?>
174
+ Cookie Notice <span class="text-success">[detected]</span><?php cardCollapseBtn(); ?>
175
  <?php endif; ?>
176
  </div>
177
  <div class="card-body">
193
  </div>
194
 
195
  <!-- Cookie Law Info -->
196
+ <div class="card">
197
  <div class="card-header">
198
  <?php if ( ! isCookieLawInfoPluginActivated() ) : ?>
199
+ GDPR Cookie Consent <span class="text-danger">[not detected]</span><?php cardCollapseBtn(); ?>
200
  <?php else: ?>
201
+ GDPR Cookie Consent <span class="text-success">[detected]</span><?php cardCollapseBtn(); ?>
202
  <?php endif; ?>
203
  </div>
204
  <div class="card-body">
220
  </div>
221
 
222
  <!-- Real Cookie Banner -->
223
+ <div class="card">
224
  <div class="card-header">
225
  <?php if ( ! isRealCookieBannerPluginActivated() ) : ?>
226
+ Real Cookie Banner <span class="text-danger">[not detected]</span><?php cardCollapseBtn(); ?>
227
  <?php else: ?>
228
+ Real Cookie Banner <span class="text-success">[detected]</span><?php cardCollapseBtn(); ?>
229
  <?php endif; ?>
230
  </div>
231
  <div class="card-body">
includes/views/html-main-general.php CHANGED
@@ -167,6 +167,29 @@ if ( ! defined( 'ABSPATH' ) ) {
167
  </div>
168
  </div>
169
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
170
  <!-- Signal Events -->
171
  <div class="card">
172
  <div class="card-header has_switch">
167
  </div>
168
  </div>
169
 
170
+ <!-- video -->
171
+ <div class="card card-static">
172
+ <div class="card-header">
173
+ Recommended Videos:
174
+ </div>
175
+ <div class="card-body">
176
+ <div class="row">
177
+ <div class="col">
178
+ <p><a href="https://www.youtube.com/watch?v=uXTpgFu2V-E" target="_blank">How to configure Facebook Conversion API (2:51 min) - watch now</a></p>
179
+ <p><a href="https://www.youtube.com/watch?v=QqAIO1ONc0I" target="_blank">How to test Facebook Conversion API (10:16 min) - watch now</a></p>
180
+ <p><a href="https://www.youtube.com/watch?v=PsKdCkKNeLU" target="_blank">Facebook Conversion API and the Consent Problem (9:25 min) - watch now</a></p>
181
+ </div>
182
+ </div>
183
+ <div class="row">
184
+ <div class="col-8">
185
+ </div>
186
+ <div class="col-4 justify-content-end">
187
+ <a href="https://www.youtube.com/channel/UCnie2zvwAjTLz9B4rqvAlFQ" target="_blank">Watch more on our YouTube channel</a>
188
+ </div>
189
+ </div>
190
+ </div>
191
+ </div>
192
+
193
  <!-- Signal Events -->
194
  <div class="card">
195
  <div class="card-header has_switch">
includes/views/html-wrapper-main.php CHANGED
@@ -39,6 +39,9 @@ include "html-popovers.php";
39
 
40
  $classes = implode( ' ', $classes );
41
 
 
 
 
42
  ?>
43
 
44
  <a class="<?php esc_attr_e( $classes ); ?>"
39
 
40
  $classes = implode( ' ', $classes );
41
 
42
+ if(isset($tab_data['class']) ) {
43
+ $classes .= ' '.$tab_data['class'];
44
+ }
45
  ?>
46
 
47
  <a class="<?php esc_attr_e( $classes ); ?>"
pixelyoursite.php CHANGED
@@ -4,7 +4,7 @@ if ( ! defined( 'ABSPATH' ) ) {
4
  exit; // Exit if accessed directly.
5
  }
6
 
7
- define( 'PYS_FREE_VERSION', '8.1.1' );
8
  define( 'PYS_FREE_PINTEREST_MIN_VERSION', '3.0.0' );
9
  define( 'PYS_FREE_BING_MIN_VERSION', '2.0.0' );
10
  define( 'PYS_FREE_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
4
  exit; // Exit if accessed directly.
5
  }
6
 
7
+ define( 'PYS_FREE_VERSION', '8.2.0' );
8
  define( 'PYS_FREE_PINTEREST_MIN_VERSION', '3.0.0' );
9
  define( 'PYS_FREE_BING_MIN_VERSION', '2.0.0' );
10
  define( 'PYS_FREE_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: Facebook Pixel, Facebook Conversion API, CAPI, Facebook Pixel Events, Face
4
  Requires at least: 3.0.1
5
  Requires PHP: 5.4
6
  Tested up to: 5.7
7
- Stable tag: 8.1.1
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -31,34 +31,54 @@ Learn about [the Signal Event and Aggregated Event Measurement](https://www.pixe
31
 
32
  TRACK EVERYTHING WITH A SINGLE PLUGIN:
33
 
34
- The Facebook Pixel: one click install
35
- Facebook Conversion API: add a token and we send all events using CAPI
36
- Google Analytics: one click install
37
- Google Analytics 4: for details, watch [this video](https://www.youtube.com/watch?v=CCVBD_bD-Y0)
38
- ANY script: add any other script with our flexible Head & Footer option
39
- The Pinterest Tag: via [free add-on](https://www.pixelyoursite.com/pinterest-tag)
40
- Google Ads (formerly AdWords) [pro feature](https://www.pixelyoursite.com/google-ads-tag)
41
- Microsoft (BING) UET tag [paid add-on](https://www.pixelyoursite.com/bing-tag)
 
 
 
 
 
 
 
 
42
 
43
- **Want to learn about your Facebook Pixel? We've put together [this help page](https://www.pixelyoursite.com/how-to-use-facebook-pixel)**
44
 
45
  FANTASTIC WOOCOMMERCE INTEGRATION:
46
 
47
- Facebook Pixel: every e-commerce related event is fired automatically. Conversion value is tracked for each event. All the events are Dynamic Product Ads ready (content_ids and content_type parameters always present).
48
- Facebook Conversion API: every e-commerce event is sent using CAPI.
49
- Google Analytics: Enhanced Ecommerce implementation.
50
- GA4: Monetization data.
51
- Head & Footer scripts: you can insert scripts on the WooCommerce “order-received” page.
52
- Pinterest e-commerce events.
 
 
 
 
 
 
 
 
 
53
 
54
  EASY DIGITAL DOWNLOADS INTEGRATION:
55
 
56
- The EDD integration works just like the WooCommerce integration, with full Dynamic Product Ads Facebook Pixel Support, Google Analytics Enhanced Ecommerce, and Pinterest Tag e-commerce events.
 
 
57
 
58
  TRACK KEY ACTIONS WITH THE SIGNAL EVENT:
59
 
60
  The Signal event captures important actions like form submit, comments, downloads, page scroll, and time on page.
61
 
 
 
62
  FIRE YOUR OWN EVENTS:
63
 
64
  You can easily configure your own events and send them to all or just some of the networks (Facebook, Google, Pinterest).
@@ -69,17 +89,23 @@ URL contains.
69
  URL equals.
70
  Delay event: fire after X seconds.
71
 
72
- GDPR SUPPORT:
 
 
 
 
 
73
 
74
- PixelYourSite works with 4 popular “cookie consent” plugins:
75
 
76
- Cookiebot - [link](https://wordpress.org/plugins/cookiebot/)
77
- GDPR Cookie Consent - [link](https://wordpress.org/plugins/cookie-law-info/)
78
- Cookie Notice Plugin - [link](https://wordpress.org/plugins/cookie-notice/)
79
- Real Cookie Banner
80
 
81
 
82
  Additionally we offer filters that developers can use to create their own custom integrations. These filters can control the way each pixel works.
 
83
 
84
 
85
  FACEBOOK FOR WOOCOMMERCE INTEGRATION:
@@ -90,6 +116,8 @@ When Facebook for WooCommerce is detected, the plugin will offer you the option
90
 
91
  [More details in this dedicated article](https://www.pixelyoursite.com/facebook-for-woocommerce-pixelyoursite)
92
 
 
 
93
  OTHER USEFUL FEATURES:
94
 
95
  Facebook Manual Advanced Matching.
@@ -99,6 +127,8 @@ Google Analytics Enhanced Link Attribution.
99
  Google Analytics Anonymize IPs.
100
  Pinterest Enhanced Matching.
101
 
 
 
102
  **EVEN MORE FEATURES WITH THE PRO VERSION:**
103
 
104
 
@@ -106,24 +136,34 @@ Pinterest Enhanced Matching.
106
 
107
  [Click here for a comparison between the free and pro versions](https://www.pixelyoursite.com/free-versus-pro)
108
 
 
 
109
  EVEN MORE TRIGGERS FOR THE SIGNAL EVENT:
110
 
111
  You can capture clicks on internal or external links, embedded video views, clicks on phone numbers or emails, user signups, clicks on AdSense ads.
112
 
 
 
113
  EVEN MORE EVENTS’ TRIGGERS:
114
 
115
  On top of the free triggers (URL equals and URL contains), the pro version will let you fire more complex events:
116
 
117
- Clicks on CSS Selector: you can target virtually any clicks, like buttons, images etc.
118
- Mouse over CSS Selector
119
- Page Scroll: you can fire an event when any or a particular page is scrolled down to a percent.
 
 
120
 
 
 
121
  EVEN MORE FACEBOOK EVENTS PARAMETERS:
122
 
123
  The pro version will track a vast amount of data for each event, like the traffic source, UTMs, your visitor’s browser’s time (hour, day, month).
124
 
125
  These parameters can be used for [Custom Audiences or Custom Conversions](https://www.pixelyoursite.com/facebook-pixel-plugin/custom-audiences-conversions)
126
 
 
 
127
  EVEN MORE GOOGLE ANALYTICS FEATURES:
128
 
129
  Support for Google Optimize (free A/B testing service by Google).
@@ -133,12 +173,16 @@ On top of the free version data, [the pro version](https://www.pixelyoursite.com
133
  Browser’s hour, day, and month. They are useful if you sell globally and what to know at what time your visitors take a particular action (their time, not your server’s or Google Analytics time).
134
  Dynamic Remarketing vertical custom dimensions (Retail or Custom vertical). Useful if you want to configure dynamic remarketing via your Analytics account.
135
 
 
 
136
  EVEN MORE HEAD & FOOTER OPTIONS:
137
 
138
  The pro version [Head & Footer](https://www.pixelyoursite.com/head-footer-scripts) lets you use dynamic values: [id], [title], [categories], [email], [first_name], [last_name].
139
 
140
  For WooCommerce you’ll have some additional dynamic values: [order_number], [order_subtotal], [order_total], [currency].
141
 
 
 
142
  EVEN MORE WOOCOMMERCE FEATURES:
143
 
144
  Identify your most valuable customers with our Advanced Marketing Events. Useful to create Facebook Lookalikes or Google Similar Audiences.
@@ -153,6 +197,8 @@ Track WooCommerce PayPal Standard clicks.
153
 
154
  For more info on how the pro version can help you with your Facebook Pixel, [visit this WooCommerce - Facebook Pixel page](https://www.pixelyoursite.com/facebook-pixel-plugin/woocommerce-facebook-pixel)
155
 
 
 
156
  GOOGLE ADS TAG (FORMER ADWORDS):
157
 
158
  The Pro version will implement the [Google Ads Tag](https://www.pixelyoursite.com/google-ads-tag) with Dynamic Retargeting support for WooCommerce and Easy Digital Downloads.
@@ -161,6 +207,8 @@ Each Global event will be sent to Google Ads too, and you can configure Google A
161
 
162
  Add conversion label to any WooCommerce or EDD event.
163
 
 
 
164
  NOT ENOUGH? GET MORE WITH THE SUPER PACK:
165
 
166
  With the [Super Pack](https://www.pixelyoursite.com/super-pack) you get 5 extra add-ons:
@@ -173,9 +221,10 @@ AMP support
173
 
174
  The super pack comes as a free bonus with our [Advanced and Agency licenses](https://www.pixelyoursite.com/facebook-pixel-plugin/buy-pixelyoursite-pro).
175
 
 
 
176
  DON’T MISS:
177
 
178
- For more details about how [PixelYourSite Pro](https://www.pixelyoursite.com/) can help your business, visit our website. Make sure you check our [free versus pro comparison page](https://www.pixelyoursite.com/free-versus-pro)
179
 
180
  **Learning Section**: we’ve put together a number of articles with all sort of tips and tricks that will help you with your ads. [Click here for our learning section](https://www.pixelyoursite.com/learn)
181
 
@@ -390,9 +439,15 @@ NO, absolutely not! We don't track any type of data about your website. We simpl
390
 
391
  == Changelog ==
392
 
 
 
 
 
 
 
393
  = PixelYourSite 8.1.1 =
394
 
395
- * Remove parameters from event_source-url. This is a mandatory parameter for Facebook Conversion API events. If the URL contains parameters that include personal data, it will trigger privacy working on Facebook. To avoid this problem we are now removing all URL parameters for this event. If you think you need them, you have a toogle to add them back on the plugin’s main page.
396
 
397
  * Dynamic Ads for Blogs events are now OFF by default.
398
 
4
  Requires at least: 3.0.1
5
  Requires PHP: 5.4
6
  Tested up to: 5.7
7
+ Stable tag: 8.2.0
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
31
 
32
  TRACK EVERYTHING WITH A SINGLE PLUGIN:
33
 
34
+ * The Facebook Pixel: one click install
35
+
36
+ * Facebook Conversion API: add a token and we send all events using CAPI
37
+
38
+ * Google Analytics: one click install
39
+
40
+ * Google Analytics 4: for details, watch [this video](https://www.youtube.com/watch?v=CCVBD_bD-Y0)
41
+
42
+ * ANY script: add any other script with our flexible Head & Footer option
43
+
44
+ * The Pinterest Tag: via [free add-on](https://www.pixelyoursite.com/pinterest-tag)
45
+
46
+ * Google Ads (formerly AdWords) [pro feature](https://www.pixelyoursite.com/google-ads-tag)
47
+
48
+ * Microsoft (BING) UET tag [paid add-on](https://www.pixelyoursite.com/bing-tag)
49
+
50
 
 
51
 
52
  FANTASTIC WOOCOMMERCE INTEGRATION:
53
 
54
+ * Facebook Pixel: every e-commerce related event is fired automatically. Conversion value is tracked for each event. All the events are
55
+
56
+ * Dynamic Product Ads ready (content_ids and content_type parameters always present).
57
+
58
+ * Facebook Conversion API: every e-commerce event is sent using CAPI.
59
+
60
+ * Google Analytics: Enhanced Ecommerce implementation.
61
+
62
+ * GA4: Monetization data.
63
+
64
+ * Head & Footer scripts: you can insert scripts on the WooCommerce “order-received” page.
65
+
66
+ * Pinterest e-commerce events.
67
+
68
+
69
 
70
  EASY DIGITAL DOWNLOADS INTEGRATION:
71
 
72
+ The EDD integration works just like the WooCommerce integration, with full Dynamic Product Ads Facebook Pixel Support, Google Analytics Enhanced Ecommerce, and Pinterest Tag e-commerce events.
73
+
74
+
75
 
76
  TRACK KEY ACTIONS WITH THE SIGNAL EVENT:
77
 
78
  The Signal event captures important actions like form submit, comments, downloads, page scroll, and time on page.
79
 
80
+
81
+
82
  FIRE YOUR OWN EVENTS:
83
 
84
  You can easily configure your own events and send them to all or just some of the networks (Facebook, Google, Pinterest).
89
  URL equals.
90
  Delay event: fire after X seconds.
91
 
92
+
93
+
94
+ **CONSENT, GDPR, CCPA SUPPORT:**
95
+
96
+
97
+ PixelYourSite is fully integrated with [ConsentMagic.com](https://www.consentmagic.com)
98
 
99
+ And it works with some of the most popular “cookie consent” plugins:
100
 
101
+ * Cookiebot
102
+ * GDPR Cookie Consent
103
+ * Cookie Notice Plugin
104
+ * Real Cookie Banner
105
 
106
 
107
  Additionally we offer filters that developers can use to create their own custom integrations. These filters can control the way each pixel works.
108
+
109
 
110
 
111
  FACEBOOK FOR WOOCOMMERCE INTEGRATION:
116
 
117
  [More details in this dedicated article](https://www.pixelyoursite.com/facebook-for-woocommerce-pixelyoursite)
118
 
119
+
120
+
121
  OTHER USEFUL FEATURES:
122
 
123
  Facebook Manual Advanced Matching.
127
  Google Analytics Anonymize IPs.
128
  Pinterest Enhanced Matching.
129
 
130
+
131
+
132
  **EVEN MORE FEATURES WITH THE PRO VERSION:**
133
 
134
 
136
 
137
  [Click here for a comparison between the free and pro versions](https://www.pixelyoursite.com/free-versus-pro)
138
 
139
+
140
+
141
  EVEN MORE TRIGGERS FOR THE SIGNAL EVENT:
142
 
143
  You can capture clicks on internal or external links, embedded video views, clicks on phone numbers or emails, user signups, clicks on AdSense ads.
144
 
145
+
146
+
147
  EVEN MORE EVENTS’ TRIGGERS:
148
 
149
  On top of the free triggers (URL equals and URL contains), the pro version will let you fire more complex events:
150
 
151
+ * Clicks on CSS Selector: you can target virtually any clicks, like buttons, images etc.
152
+
153
+ * Mouse over CSS Selector
154
+
155
+ * Page Scroll: you can fire an event when any or a particular page is scrolled down to a percent.
156
 
157
+
158
+
159
  EVEN MORE FACEBOOK EVENTS PARAMETERS:
160
 
161
  The pro version will track a vast amount of data for each event, like the traffic source, UTMs, your visitor’s browser’s time (hour, day, month).
162
 
163
  These parameters can be used for [Custom Audiences or Custom Conversions](https://www.pixelyoursite.com/facebook-pixel-plugin/custom-audiences-conversions)
164
 
165
+
166
+
167
  EVEN MORE GOOGLE ANALYTICS FEATURES:
168
 
169
  Support for Google Optimize (free A/B testing service by Google).
173
  Browser’s hour, day, and month. They are useful if you sell globally and what to know at what time your visitors take a particular action (their time, not your server’s or Google Analytics time).
174
  Dynamic Remarketing vertical custom dimensions (Retail or Custom vertical). Useful if you want to configure dynamic remarketing via your Analytics account.
175
 
176
+
177
+
178
  EVEN MORE HEAD & FOOTER OPTIONS:
179
 
180
  The pro version [Head & Footer](https://www.pixelyoursite.com/head-footer-scripts) lets you use dynamic values: [id], [title], [categories], [email], [first_name], [last_name].
181
 
182
  For WooCommerce you’ll have some additional dynamic values: [order_number], [order_subtotal], [order_total], [currency].
183
 
184
+
185
+
186
  EVEN MORE WOOCOMMERCE FEATURES:
187
 
188
  Identify your most valuable customers with our Advanced Marketing Events. Useful to create Facebook Lookalikes or Google Similar Audiences.
197
 
198
  For more info on how the pro version can help you with your Facebook Pixel, [visit this WooCommerce - Facebook Pixel page](https://www.pixelyoursite.com/facebook-pixel-plugin/woocommerce-facebook-pixel)
199
 
200
+
201
+
202
  GOOGLE ADS TAG (FORMER ADWORDS):
203
 
204
  The Pro version will implement the [Google Ads Tag](https://www.pixelyoursite.com/google-ads-tag) with Dynamic Retargeting support for WooCommerce and Easy Digital Downloads.
207
 
208
  Add conversion label to any WooCommerce or EDD event.
209
 
210
+
211
+
212
  NOT ENOUGH? GET MORE WITH THE SUPER PACK:
213
 
214
  With the [Super Pack](https://www.pixelyoursite.com/super-pack) you get 5 extra add-ons:
221
 
222
  The super pack comes as a free bonus with our [Advanced and Agency licenses](https://www.pixelyoursite.com/facebook-pixel-plugin/buy-pixelyoursite-pro).
223
 
224
+
225
+
226
  DON’T MISS:
227
 
 
228
 
229
  **Learning Section**: we’ve put together a number of articles with all sort of tips and tricks that will help you with your ads. [Click here for our learning section](https://www.pixelyoursite.com/learn)
230
 
439
 
440
  == Changelog ==
441
 
442
+
443
+ = PixelYourSite 8.2.0 =
444
+
445
+ * Full support for [ConsentMagic.com](https://www.consentmagic.com)
446
+
447
+
448
  = PixelYourSite 8.1.1 =
449
 
450
+ * Remove parameters from event_source-url. This is a mandatory parameter for Facebook Conversion API events. If the URL contains parameters that include personal data, it will trigger privacy working on Facebook. To avoid this problem we are now removing all URL parameters for this event. If you think you need them, you have toggle to add them back on the plugin’s main page.
451
 
452
  * Dynamic Ads for Blogs events are now OFF by default.
453