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

Version Description

Download this release

Release Info

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

Code changes from version 7.0.5 to 7.1.0

dist/images/microsoft-small-square.png ADDED
Binary file
dist/scripts/admin.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(c){function n(e){var t=c("#"+e.data("target"));e.val()===e.data("value")?t.removeClass("form-control-hidden"):t.addClass("form-control-hidden")}function e(){"price"===c('input[name="pys[core][woo_event_value]"]:checked').val()?c(".woo-event-value-option").hide():c(".woo-event-value-option").show()}function t(){"price"===c('input[name="pys[core][edd_event_value]"]:checked').val()?c(".edd-event-value-option").hide():c(".edd-event-value-option").show()}function a(){var e=c("#pys_event_trigger_type").val(),t="#"+e+"_panel";c(".event_triggers_panel").hide(),c(t).show(),"page_visit"===e?c("#url_filter_panel").hide():c("#url_filter_panel").show();var n=c(t),a=n.data("trigger_type");0===c(".event_trigger",n).length-1&&s(n,a)}function s(e,t){var n=c(".event_trigger",e),a=c(n[0]).clone(!0),s=c(n[n.length-1]).data("trigger_id")+1,i="pys[event]["+t+"_triggers]["+s+"]";a.data("trigger_id",s),c("select",a).attr("name",i+"[rule]"),c("input",a).attr("name",i+"[value]"),a.css("display","block"),a.insertBefore(c(".insert-marker",e))}function i(){"page_visit"===c("#pys_event_trigger_type").val()?c(".event-delay").css("visibility","visible"):c(".event-delay").css("visibility","hidden")}function o(){c("#pys_event_facebook_enabled").is(":checked")?c("#facebook_panel").show():c("#facebook_panel").hide()}function r(){"CustomEvent"===c("#pys_event_facebook_event_type").val()?c(".facebook-custom-event-type").css("visibility","visible"):c(".facebook-custom-event-type").css("visibility","hidden")}function p(){c("#pys_event_facebook_params_enabled").is(":checked")?c("#facebook_params_panel").show():c("#facebook_params_panel").hide()}function _(){var e=c("#pys_event_facebook_event_type").val();c("#facebook_params_panel").removeClass().addClass(e)}function l(){"custom"===c("#pys_event_facebook_params_currency").val()?c(".facebook-custom-currency").css("visibility","visible"):c(".facebook-custom-currency").css("visibility","hidden")}function v(){c("#pys_event_pinterest_enabled").is(":checked")?c("#pinterest_panel").show():c("#pinterest_panel").hide()}function u(){"CustomEvent"===c("#pys_event_pinterest_event_type").val()?c(".pinterest-custom-event-type").css("visibility","visible"):c(".pinterest-custom-event-type").css("visibility","hidden")}function d(){c("#pys_event_pinterest_params_enabled").is(":checked")?c("#pinterest_params_panel").show():c("#pinterest_params_panel").hide()}function m(){var e=c("#pys_event_pinterest_event_type").val();c("#pinterest_params_panel").removeClass().addClass(e)}function y(){"custom"===c("#pys_event_pinterest_params_currency").val()?c(".pinterest-custom-currency").css("visibility","visible"):c(".pinterest-custom-currency").css("visibility","hidden")}function f(){c("#pys_event_ga_enabled").is(":checked")?c("#analytics_panel").show():c("#analytics_panel").hide()}function h(){"_custom"===c("#pys_event_ga_event_action").val()?c("#ga-custom-action").css("visibility","visible"):c("#ga-custom-action").css("visibility","hidden")}c(function(){c('[data-toggle="pys-popover"]').popover({container:"#pys",html:!0,content:function(){return c("#pys-"+c(this).data("popover_id")).html()}})}),c(".pys-select2").select2(),c(".pys-tags-select2").select2({tags:!0,tokenSeparators:[","," "]}),c("select.controls-visibility").on("change",function(e){n(c(this))}).each(function(e,t){n(c(t))}),c(".card-collapse").click(function(){var e=c(this).closest(".card").find(".card-body");e.hasClass("show")?e.hide().removeClass("show"):e.show().addClass("show")}),c(".collapse-control .custom-switch-input").change(function(){var e=c(this),t=c("."+e.data("target"));0<t.length&&(e.prop("checked")?t.show():t.hide())}).trigger("change"),e(),c('input[name="pys[core][woo_event_value]"]').change(function(){e()}),t(),c('input[name="pys[core][edd_event_value]"]').change(function(){t()}),c("#pys_select_all_events").change(function(){c(this).prop("checked")?c(".pys-select-event").prop("checked","checked"):c(".pys-select-event").prop("checked",!1)}),i(),a(),c("#pys_event_trigger_type").change(function(){i(),a()}),c(".add-event-trigger").click(function(){var e=c(this).closest(".event_triggers_panel");s(e,e.data("trigger_type"))}),c(".remove-row").click(function(e){c(this).closest(".row.event_trigger, .row.facebook-custom-param, .row.pinterest-custom-param").remove()}),o(),r(),p(),_(),l(),c("#pys_event_facebook_enabled").click(function(){o()}),c("#pys_event_facebook_event_type").change(function(){r(),_()}),c("#pys_event_facebook_params_enabled").click(function(){p()}),c("#pys_event_facebook_params_currency").change(function(){l()}),c(".add-facebook-parameter").click(function(){var e=c("#facebook_params_panel"),t=c(".facebook-custom-param",e),n=c(t[0]).clone(!0),a=c(t[t.length-1]).data("param_id")+1,s="pys[event][facebook_custom_params]["+a+"]";n.data("param_id",a),c("input.custom-param-name",n).attr("name",s+"[name]"),c("input.custom-param-value",n).attr("name",s+"[value]"),n.css("display","flex"),n.insertBefore(c(".insert-marker",e))}),v(),u(),d(),m(),y(),c("#pys_event_pinterest_enabled").click(function(){v()}),c("#pys_event_pinterest_event_type").change(function(){u(),m()}),c("#pys_event_pinterest_params_enabled").click(function(){d()}),c("#pys_event_pinterest_params_currency").change(function(){y()}),c(".add-pinterest-parameter").click(function(){var e=c("#pinterest_params_panel"),t=c(".pinterest-custom-param",e),n=c(t[0]).clone(!0),a=c(t[t.length-1]).data("param_id")+1,s="pys[event][pinterest_custom_params]["+a+"]";n.data("param_id",a),c("input.custom-param-name",n).attr("name",s+"[name]"),c("input.custom-param-value",n).attr("name",s+"[value]"),n.css("display","flex"),n.insertBefore(c(".insert-marker",e))}),f(),h(),c("#pys_event_ga_enabled").click(function(){f()}),c("#pys_event_ga_event_action").change(function(){h()})});
1
+ jQuery(document).ready(function(c){function n(e){var t=c("#"+e.data("target"));e.val()===e.data("value")?t.removeClass("form-control-hidden"):t.addClass("form-control-hidden")}function e(){"price"===c('input[name="pys[core][woo_event_value]"]:checked').val()?c(".woo-event-value-option").hide():c(".woo-event-value-option").show()}function t(){"price"===c('input[name="pys[core][edd_event_value]"]:checked').val()?c(".edd-event-value-option").hide():c(".edd-event-value-option").show()}function a(){var e=c("#pys_event_trigger_type").val(),t="#"+e+"_panel";c(".event_triggers_panel").hide(),c(t).show(),"page_visit"===e?c("#url_filter_panel").hide():c("#url_filter_panel").show();var n=c(t),a=n.data("trigger_type");0===c(".event_trigger",n).length-1&&s(n,a)}function s(e,t){var n=c(".event_trigger",e),a=c(n[0]).clone(!0),s=c(n[n.length-1]).data("trigger_id")+1,i="pys[event]["+t+"_triggers]["+s+"]";a.data("trigger_id",s),c("select",a).attr("name",i+"[rule]"),c("input",a).attr("name",i+"[value]"),a.css("display","block"),a.insertBefore(c(".insert-marker",e))}function i(){"page_visit"===c("#pys_event_trigger_type").val()?c(".event-delay").css("visibility","visible"):c(".event-delay").css("visibility","hidden")}function o(){c("#pys_event_facebook_enabled").is(":checked")?c("#facebook_panel").show():c("#facebook_panel").hide()}function r(){"CustomEvent"===c("#pys_event_facebook_event_type").val()?c(".facebook-custom-event-type").css("visibility","visible"):c(".facebook-custom-event-type").css("visibility","hidden")}function p(){c("#pys_event_facebook_params_enabled").is(":checked")?c("#facebook_params_panel").show():c("#facebook_params_panel").hide()}function _(){var e=c("#pys_event_facebook_event_type").val();c("#facebook_params_panel").removeClass().addClass(e)}function l(){"custom"===c("#pys_event_facebook_params_currency").val()?c(".facebook-custom-currency").css("visibility","visible"):c(".facebook-custom-currency").css("visibility","hidden")}function v(){c("#pys_event_pinterest_enabled").is(":checked")?c("#pinterest_panel").show():c("#pinterest_panel").hide()}function u(){"CustomEvent"===c("#pys_event_pinterest_event_type").val()?c(".pinterest-custom-event-type").css("visibility","visible"):c(".pinterest-custom-event-type").css("visibility","hidden")}function d(){c("#pys_event_pinterest_params_enabled").is(":checked")?c("#pinterest_params_panel").show():c("#pinterest_params_panel").hide()}function y(){var e=c("#pys_event_pinterest_event_type").val();c("#pinterest_params_panel").removeClass().addClass(e)}function m(){"custom"===c("#pys_event_pinterest_params_currency").val()?c(".pinterest-custom-currency").css("visibility","visible"):c(".pinterest-custom-currency").css("visibility","hidden")}function f(){c("#pys_event_ga_enabled").is(":checked")?c("#analytics_panel").show():c("#analytics_panel").hide()}function h(){"_custom"===c("#pys_event_ga_event_action").val()?c("#ga-custom-action").css("visibility","visible"):c("#ga-custom-action").css("visibility","hidden")}function g(){c("#pys_event_bing_enabled").is(":checked")?c("#bing_panel").show():c("#bing_panel").hide()}c(function(){c('[data-toggle="pys-popover"]').popover({container:"#pys",html:!0,content:function(){return c("#pys-"+c(this).data("popover_id")).html()}})}),c(".pys-select2").select2(),c(".pys-tags-select2").select2({tags:!0,tokenSeparators:[","," "]}),c("select.controls-visibility").on("change",function(e){n(c(this))}).each(function(e,t){n(c(t))}),c(".card-collapse").click(function(){var e=c(this).closest(".card").find(".card-body");e.hasClass("show")?e.hide().removeClass("show"):e.show().addClass("show")}),c(".collapse-control .custom-switch-input").change(function(){var e=c(this),t=c("."+e.data("target"));0<t.length&&(e.prop("checked")?t.show():t.hide())}).trigger("change"),e(),c('input[name="pys[core][woo_event_value]"]').change(function(){e()}),t(),c('input[name="pys[core][edd_event_value]"]').change(function(){t()}),c("#pys_select_all_events").change(function(){c(this).prop("checked")?c(".pys-select-event").prop("checked","checked"):c(".pys-select-event").prop("checked",!1)}),i(),a(),c("#pys_event_trigger_type").change(function(){i(),a()}),c(".add-event-trigger").click(function(){var e=c(this).closest(".event_triggers_panel");s(e,e.data("trigger_type"))}),c(".remove-row").click(function(e){c(this).closest(".row.event_trigger, .row.facebook-custom-param, .row.pinterest-custom-param").remove()}),o(),r(),p(),_(),l(),c("#pys_event_facebook_enabled").click(function(){o()}),c("#pys_event_facebook_event_type").change(function(){r(),_()}),c("#pys_event_facebook_params_enabled").click(function(){p()}),c("#pys_event_facebook_params_currency").change(function(){l()}),c(".add-facebook-parameter").click(function(){var e=c("#facebook_params_panel"),t=c(".facebook-custom-param",e),n=c(t[0]).clone(!0),a=c(t[t.length-1]).data("param_id")+1,s="pys[event][facebook_custom_params]["+a+"]";n.data("param_id",a),c("input.custom-param-name",n).attr("name",s+"[name]"),c("input.custom-param-value",n).attr("name",s+"[value]"),n.css("display","flex"),n.insertBefore(c(".insert-marker",e))}),v(),u(),d(),y(),m(),c("#pys_event_pinterest_enabled").click(function(){v()}),c("#pys_event_pinterest_event_type").change(function(){u(),y()}),c("#pys_event_pinterest_params_enabled").click(function(){d()}),c("#pys_event_pinterest_params_currency").change(function(){m()}),c(".add-pinterest-parameter").click(function(){var e=c("#pinterest_params_panel"),t=c(".pinterest-custom-param",e),n=c(t[0]).clone(!0),a=c(t[t.length-1]).data("param_id")+1,s="pys[event][pinterest_custom_params]["+a+"]";n.data("param_id",a),c("input.custom-param-name",n).attr("name",s+"[name]"),c("input.custom-param-value",n).attr("name",s+"[value]"),n.css("display","flex"),n.insertBefore(c(".insert-marker",e))}),f(),h(),c("#pys_event_ga_enabled").click(function(){f()}),c("#pys_event_ga_event_action").change(function(){h()}),g(),c("#pys_event_bing_enabled").click(function(){g()})});
dist/scripts/public.js CHANGED
@@ -107,10 +107,75 @@ if (!Array.prototype.includes) {
107
 
108
  }();
109
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
  var Utils = function (options) {
111
 
112
  var Pinterest = dummyPinterest;
113
 
 
 
114
  var gtag_loaded = false;
115
 
116
  function loadPixels() {
@@ -129,6 +194,9 @@ if (!Array.prototype.includes) {
129
  Pinterest.loadPixel();
130
  }
131
 
 
 
 
132
  }
133
 
134
  }
@@ -143,6 +211,11 @@ if (!Array.prototype.includes) {
143
  return Pinterest;
144
  },
145
 
 
 
 
 
 
146
  // Clone all object members to another and return it
147
  copyProperties: function (from, to) {
148
  for (var key in from) {
@@ -184,6 +257,8 @@ if (!Array.prototype.includes) {
184
  fired = Analytics.fireEvent(eventName, eventData);
185
  } else if ('pinterest' === pixel) {
186
  fired = Pinterest.fireEvent(eventName, eventData);
 
 
187
  }
188
 
189
  // prevent event double event firing
@@ -253,6 +328,7 @@ if (!Array.prototype.includes) {
253
  options.gdpr.analytics_disabled_by_api = res.data.analytics_disabled_by_api;
254
  options.gdpr.google_ads_disabled_by_api = res.data.google_ads_disabled_by_api;
255
  options.gdpr.pinterest_disabled_by_api = res.data.pinterest_disabled_by_api;
 
256
 
257
  }
258
 
@@ -378,12 +454,17 @@ if (!Array.prototype.includes) {
378
  Pinterest.loadPixel();
379
  }
380
 
 
 
 
 
381
  };
382
 
383
  Cookiebot.ondecline = function () {
384
  Facebook.disable();
385
  Analytics.disable();
386
  Pinterest.disable();
 
387
  };
388
 
389
  }
@@ -399,10 +480,12 @@ if (!Array.prototype.includes) {
399
  Facebook.loadPixel();
400
  Analytics.loadPixel();
401
  Pinterest.loadPixel();
 
402
  } else {
403
  Facebook.disable();
404
  Analytics.disable();
405
  Pinterest.disable();
 
406
  }
407
 
408
  });
@@ -411,6 +494,7 @@ if (!Array.prototype.includes) {
411
  Facebook.disable();
412
  Analytics.disable();
413
  Pinterest.disable();
 
414
  });
415
 
416
  }
@@ -424,12 +508,14 @@ if (!Array.prototype.includes) {
424
  Facebook.loadPixel();
425
  Analytics.loadPixel();
426
  Pinterest.loadPixel();
 
427
  });
428
 
429
  $(document).onFirst('click', '#cookie_action_close_header_reject', function () {
430
  Facebook.disable();
431
  Analytics.disable();
432
  Pinterest.disable();
 
433
  });
434
 
435
  }
@@ -1020,6 +1106,7 @@ if (!Array.prototype.includes) {
1020
  $(document).ready(function () {
1021
 
1022
  var Pinterest = Utils.setupPinterestObject();
 
1023
 
1024
  Utils.setupGdprCallbacks();
1025
 
@@ -1038,6 +1125,7 @@ if (!Array.prototype.includes) {
1038
  Facebook.onWooAddToCartOnButtonEvent(product_id);
1039
  Analytics.onWooAddToCartOnButtonEvent(product_id);
1040
  Pinterest.onWooAddToCartOnButtonEvent(product_id);
 
1041
  }
1042
 
1043
  });
@@ -1073,6 +1161,7 @@ if (!Array.prototype.includes) {
1073
  Facebook.onWooAddToCartOnSingleEvent(product_id, qty, is_variable, $form);
1074
  Analytics.onWooAddToCartOnSingleEvent(product_id, qty, is_variable, $form);
1075
  Pinterest.onWooAddToCartOnSingleEvent(product_id, qty, is_variable, false, $form);
 
1076
 
1077
  });
1078
 
@@ -1099,6 +1188,7 @@ if (!Array.prototype.includes) {
1099
  Facebook.onWooRemoveFromCartEvent(item_hash);
1100
  Analytics.onWooRemoveFromCartEvent(item_hash);
1101
  Pinterest.onWooRemoveFromCartEvent(item_hash);
 
1102
  }
1103
 
1104
  }
@@ -1192,6 +1282,7 @@ if (!Array.prototype.includes) {
1192
  Facebook.onEddAddToCartOnButtonEvent(download_id, price_index, q);
1193
  Analytics.onEddAddToCartOnButtonEvent(download_id, price_index, q);
1194
  Pinterest.onEddAddToCartOnButtonEvent(download_id, price_index, q);
 
1195
 
1196
  });
1197
 
@@ -1216,6 +1307,7 @@ if (!Array.prototype.includes) {
1216
  Facebook.onEddRemoveFromCartEvent(item);
1217
  Analytics.onEddRemoveFromCartEvent(item);
1218
  Pinterest.onEddRemoveFromCartEvent(item);
 
1219
 
1220
  }
1221
 
@@ -1233,6 +1325,7 @@ if (!Array.prototype.includes) {
1233
  Facebook.onCommentEvent();
1234
  Analytics.onCommentEvent();
1235
  Pinterest.onCommentEvent();
 
1236
 
1237
  });
1238
 
@@ -1277,6 +1370,7 @@ if (!Array.prototype.includes) {
1277
  Facebook.onDownloadEvent(params);
1278
  Analytics.onDownloadEvent(params);
1279
  Pinterest.onDownloadEvent(params);
 
1280
 
1281
  }
1282
 
@@ -1317,6 +1411,7 @@ if (!Array.prototype.includes) {
1317
  Facebook.onFormEvent(params);
1318
  Analytics.onFormEvent(params);
1319
  Pinterest.onFormEvent(params);
 
1320
 
1321
  });
1322
 
@@ -1331,6 +1426,7 @@ if (!Array.prototype.includes) {
1331
  Facebook.onFormEvent(params);
1332
  Analytics.onFormEvent(params);
1333
  Pinterest.onFormEvent(params);
 
1334
 
1335
  });
1336
 
107
 
108
  }();
109
 
110
+ var dummyBing = function () {
111
+
112
+ /**
113
+ * Public API
114
+ */
115
+ return {
116
+
117
+ isEnabled: function () {
118
+ },
119
+
120
+ disable: function () {
121
+ },
122
+
123
+ loadPixel: function () {
124
+ },
125
+
126
+ fireEvent: function (name, data) {
127
+ return false;
128
+ },
129
+
130
+ onAdSenseEvent: function () {
131
+ },
132
+
133
+ onClickEvent: function (params) {
134
+ },
135
+
136
+ onWatchVideo: function (params) {
137
+ },
138
+
139
+ onCommentEvent: function () {
140
+ },
141
+
142
+ onFormEvent: function (params) {
143
+ },
144
+
145
+ onDownloadEvent: function (params) {
146
+ },
147
+
148
+ onWooAddToCartOnButtonEvent: function (product_id) {
149
+ },
150
+
151
+ onWooAddToCartOnSingleEvent: function (product_id, qty, is_variable, is_external, $form) {
152
+ },
153
+
154
+ onWooRemoveFromCartEvent: function (cart_item_hash) {
155
+ },
156
+
157
+ onWooAffiliateEvent: function (product_id) {
158
+ },
159
+
160
+ onWooPayPalEvent: function () {
161
+ },
162
+
163
+ onEddAddToCartOnButtonEvent: function (download_id, price_index, qty) {
164
+ },
165
+
166
+ onEddRemoveFromCartEvent: function (item) {
167
+ }
168
+
169
+ }
170
+
171
+ }();
172
+
173
  var Utils = function (options) {
174
 
175
  var Pinterest = dummyPinterest;
176
 
177
+ var Bing = dummyBing;
178
+
179
  var gtag_loaded = false;
180
 
181
  function loadPixels() {
194
  Pinterest.loadPixel();
195
  }
196
 
197
+ if (!options.gdpr.bing_disabled_by_api) {
198
+ Bing.loadPixel();
199
+ }
200
  }
201
 
202
  }
211
  return Pinterest;
212
  },
213
 
214
+ setupBingObject: function () {
215
+ Bing = window.pys.Bing || Bing;
216
+ return Bing;
217
+ },
218
+
219
  // Clone all object members to another and return it
220
  copyProperties: function (from, to) {
221
  for (var key in from) {
257
  fired = Analytics.fireEvent(eventName, eventData);
258
  } else if ('pinterest' === pixel) {
259
  fired = Pinterest.fireEvent(eventName, eventData);
260
+ } else if ('bing' === pixel) {
261
+ fired = Bing.fireEvent(eventName, eventData);
262
  }
263
 
264
  // prevent event double event firing
328
  options.gdpr.analytics_disabled_by_api = res.data.analytics_disabled_by_api;
329
  options.gdpr.google_ads_disabled_by_api = res.data.google_ads_disabled_by_api;
330
  options.gdpr.pinterest_disabled_by_api = res.data.pinterest_disabled_by_api;
331
+ options.gdpr.bing_disabled_by_api = res.data.bing_disabled_by_api;
332
 
333
  }
334
 
454
  Pinterest.loadPixel();
455
  }
456
 
457
+ if (Cookiebot.consent[options.gdpr.cookiebot_bing_consent_category]) {
458
+ bing.loadPixel();
459
+ }
460
+
461
  };
462
 
463
  Cookiebot.ondecline = function () {
464
  Facebook.disable();
465
  Analytics.disable();
466
  Pinterest.disable();
467
+ Bing.disable();
468
  };
469
 
470
  }
480
  Facebook.loadPixel();
481
  Analytics.loadPixel();
482
  Pinterest.loadPixel();
483
+ Bing.loadPixel();
484
  } else {
485
  Facebook.disable();
486
  Analytics.disable();
487
  Pinterest.disable();
488
+ Bing.disable();
489
  }
490
 
491
  });
494
  Facebook.disable();
495
  Analytics.disable();
496
  Pinterest.disable();
497
+ Bing.disable();
498
  });
499
 
500
  }
508
  Facebook.loadPixel();
509
  Analytics.loadPixel();
510
  Pinterest.loadPixel();
511
+ Bing.loadPixel();
512
  });
513
 
514
  $(document).onFirst('click', '#cookie_action_close_header_reject', function () {
515
  Facebook.disable();
516
  Analytics.disable();
517
  Pinterest.disable();
518
+ Bing.disable();
519
  });
520
 
521
  }
1106
  $(document).ready(function () {
1107
 
1108
  var Pinterest = Utils.setupPinterestObject();
1109
+ var Bing = Utils.setupBingObject();
1110
 
1111
  Utils.setupGdprCallbacks();
1112
 
1125
  Facebook.onWooAddToCartOnButtonEvent(product_id);
1126
  Analytics.onWooAddToCartOnButtonEvent(product_id);
1127
  Pinterest.onWooAddToCartOnButtonEvent(product_id);
1128
+ Bing.onWooAddToCartOnButtonEvent(product_id);
1129
  }
1130
 
1131
  });
1161
  Facebook.onWooAddToCartOnSingleEvent(product_id, qty, is_variable, $form);
1162
  Analytics.onWooAddToCartOnSingleEvent(product_id, qty, is_variable, $form);
1163
  Pinterest.onWooAddToCartOnSingleEvent(product_id, qty, is_variable, false, $form);
1164
+ Bing.onWooAddToCartOnSingleEvent(product_id, qty, is_variable, false, $form);
1165
 
1166
  });
1167
 
1188
  Facebook.onWooRemoveFromCartEvent(item_hash);
1189
  Analytics.onWooRemoveFromCartEvent(item_hash);
1190
  Pinterest.onWooRemoveFromCartEvent(item_hash);
1191
+ Bing.onWooRemoveFromCartEvent(item_hash);
1192
  }
1193
 
1194
  }
1282
  Facebook.onEddAddToCartOnButtonEvent(download_id, price_index, q);
1283
  Analytics.onEddAddToCartOnButtonEvent(download_id, price_index, q);
1284
  Pinterest.onEddAddToCartOnButtonEvent(download_id, price_index, q);
1285
+ Bing.onEddAddToCartOnButtonEvent(download_id, price_index, q);
1286
 
1287
  });
1288
 
1307
  Facebook.onEddRemoveFromCartEvent(item);
1308
  Analytics.onEddRemoveFromCartEvent(item);
1309
  Pinterest.onEddRemoveFromCartEvent(item);
1310
+ Bing.onEddRemoveFromCartEvent(item);
1311
 
1312
  }
1313
 
1325
  Facebook.onCommentEvent();
1326
  Analytics.onCommentEvent();
1327
  Pinterest.onCommentEvent();
1328
+ Bing.onCommentEvent();
1329
 
1330
  });
1331
 
1370
  Facebook.onDownloadEvent(params);
1371
  Analytics.onDownloadEvent(params);
1372
  Pinterest.onDownloadEvent(params);
1373
+ Bing.onDownloadEvent(params);
1374
 
1375
  }
1376
 
1411
  Facebook.onFormEvent(params);
1412
  Analytics.onFormEvent(params);
1413
  Pinterest.onFormEvent(params);
1414
+ Bing.onFormEvent(params);
1415
 
1416
  });
1417
 
1426
  Facebook.onFormEvent(params);
1427
  Analytics.onFormEvent(params);
1428
  Pinterest.onFormEvent(params);
1429
+ Bing.onFormEvent(params);
1430
 
1431
  });
1432
 
facebook-pixel-master.php CHANGED
@@ -4,16 +4,16 @@
4
  * Plugin Name: PixelYourSite
5
  * Plugin URI: http://www.pixelyoursite.com/
6
  * Description: No codding <strong>Facebook Pixel</strong> and <strong>Google Analytics</strong> install. Track key actions with our Global Events, 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.
7
- * Version: 7.0.5
8
  * Author: PixelYourSite
9
  * Author URI: http://www.pixelyoursite.com
10
  * License: GPLv3
11
  *
12
  * Requires at least: 4.4
13
- * Tested up to: 5.2.0
14
  *
15
  * WC requires at least: 2.6.0
16
- * WC tested up to: 3.6.3
17
  *
18
  * Text Domain: pys
19
  */
4
  * Plugin Name: PixelYourSite
5
  * Plugin URI: http://www.pixelyoursite.com/
6
  * Description: No codding <strong>Facebook Pixel</strong> and <strong>Google Analytics</strong> install. Track key actions with our Global Events, 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.
7
+ * Version: 7.1.0
8
  * Author: PixelYourSite
9
  * Author URI: http://www.pixelyoursite.com
10
  * License: GPLv3
11
  *
12
  * Requires at least: 4.4
13
+ * Tested up to: 5.2.2
14
  *
15
  * WC requires at least: 2.6.0
16
+ * WC tested up to: 3.6.5
17
  *
18
  * Text Domain: pys
19
  */
includes/class-custom-event.php CHANGED
@@ -35,6 +35,12 @@ if ( ! defined( 'ABSPATH' ) ) {
35
  * @property string ga_event_label
36
  * @property string ga_event_value
37
  * @property bool ga_non_interactive
 
 
 
 
 
 
38
  */
39
  class CustomEvent {
40
 
@@ -69,6 +75,12 @@ class CustomEvent {
69
  'ga_event_label' => null,
70
  'ga_event_value' => null,
71
  'ga_non_interactive' => true,
 
 
 
 
 
 
72
  );
73
 
74
  public function __construct( $post_id = null ) {
@@ -377,7 +389,17 @@ class CustomEvent {
377
  $this->data['ga_event_value'] = ! empty( $args['ga_event_value'] ) ? sanitize_text_field( $args['ga_event_value'] ) : null;
378
  $this->data['ga_non_interactive'] = isset( $args['ga_non_interactive'] ) && $args['ga_non_interactive'] ? true : false;
379
 
380
- update_post_meta( $this->post_id, '_pys_event_data', $this->data );
 
 
 
 
 
 
 
 
 
 
381
 
382
  }
383
 
@@ -477,5 +499,8 @@ class CustomEvent {
477
  public function getGoogleAnalyticsAction() {
478
  return $this->ga_event_action == '_custom' ? $this->ga_custom_event_action : $this->ga_event_action;
479
  }
480
-
 
 
 
481
  }
35
  * @property string ga_event_label
36
  * @property string ga_event_value
37
  * @property bool ga_non_interactive
38
+ *
39
+ * @property bool bing_enabled
40
+ * @property string bing_event_action
41
+ * @property string bing_event_category
42
+ * @property string bing_event_label
43
+ * @property string bing_event_value
44
  */
45
  class CustomEvent {
46
 
75
  'ga_event_label' => null,
76
  'ga_event_value' => null,
77
  'ga_non_interactive' => true,
78
+
79
+ 'bing_enabled' => false,
80
+ 'bing_event_action' => null,
81
+ 'bing_event_category' => null,
82
+ 'bing_event_label' => null,
83
+ 'bing_event_value' => null,
84
  );
85
 
86
  public function __construct( $post_id = null ) {
389
  $this->data['ga_event_value'] = ! empty( $args['ga_event_value'] ) ? sanitize_text_field( $args['ga_event_value'] ) : null;
390
  $this->data['ga_non_interactive'] = isset( $args['ga_non_interactive'] ) && $args['ga_non_interactive'] ? true : false;
391
 
392
+ /**
393
+ * BING
394
+ */
395
+
396
+ $this->data['bing_enabled'] = isset($args['bing_enabled']) && $args['bing_enabled'] ? true : false;
397
+ $this->data['bing_event_action'] = !empty($args['bing_event_action']) ? sanitize_text_field($args['bing_event_action']) : null;
398
+ $this->data['bing_event_category'] = !empty($args['bing_event_category']) ? sanitize_text_field($args['bing_event_category']) : null;
399
+ $this->data['bing_event_label'] = !empty($args['bing_event_label']) ? sanitize_text_field($args['bing_event_label']) : null;
400
+ $this->data['bing_event_value'] = !empty($args['bing_event_value']) ? sanitize_text_field($args['bing_event_value']) : null;
401
+
402
+ update_post_meta( $this->post_id, '_pys_event_data', $this->data );
403
 
404
  }
405
 
499
  public function getGoogleAnalyticsAction() {
500
  return $this->ga_event_action == '_custom' ? $this->ga_custom_event_action : $this->ga_event_action;
501
  }
502
+
503
+ public function isBingEnabled() {
504
+ return (bool) $this->bing_enabled;
505
+ }
506
  }
includes/class-events-manager.php CHANGED
@@ -69,17 +69,20 @@ class EventsManager {
69
  'analytics_disabled_by_api' => apply_filters( 'pys_disable_analytics_by_gdpr', false ),
70
  'google_ads_disabled_by_api' => apply_filters( 'pys_disable_google_ads_by_gdpr', false ),
71
  'pinterest_disabled_by_api' => apply_filters( 'pys_disable_pinterest_by_gdpr', false ),
 
72
 
73
  'facebook_prior_consent_enabled' => PYS()->getOption( 'gdpr_facebook_prior_consent_enabled' ),
74
  'analytics_prior_consent_enabled' => PYS()->getOption( 'gdpr_analytics_prior_consent_enabled' ),
75
  'google_ads_prior_consent_enabled' => PYS()->getOption( 'gdpr_google_ads_prior_consent_enabled' ),
76
  'pinterest_prior_consent_enabled' => PYS()->getOption( 'gdpr_pinterest_prior_consent_enabled' ),
 
77
 
78
  'cookiebot_integration_enabled' => isCookiebotPluginActivated() && PYS()->getOption( 'gdpr_cookiebot_integration_enabled' ),
79
  'cookiebot_facebook_consent_category' => PYS()->getOption( 'gdpr_cookiebot_facebook_consent_category' ),
80
  'cookiebot_analytics_consent_category' => PYS()->getOption( 'gdpr_cookiebot_analytics_consent_category' ),
81
  'cookiebot_google_ads_consent_category' => PYS()->getOption( 'gdpr_cookiebot_google_ads_consent_category' ),
82
  'cookiebot_pinterest_consent_category' => PYS()->getOption( 'gdpr_cookiebot_pinterest_consent_category' ),
 
83
 
84
  'ginger_integration_enabled' => isGingerPluginActivated() && PYS()->getOption( 'gdpr_ginger_integration_enabled' ),
85
  'cookie_notice_integration_enabled' => isCookieNoticePluginActivated() && PYS()->getOption( 'gdpr_cookie_notice_integration_enabled' ),
69
  'analytics_disabled_by_api' => apply_filters( 'pys_disable_analytics_by_gdpr', false ),
70
  'google_ads_disabled_by_api' => apply_filters( 'pys_disable_google_ads_by_gdpr', false ),
71
  'pinterest_disabled_by_api' => apply_filters( 'pys_disable_pinterest_by_gdpr', false ),
72
+ 'bing_disabled_by_api' => apply_filters( 'pys_disable_bing_by_gdpr', false ),
73
 
74
  'facebook_prior_consent_enabled' => PYS()->getOption( 'gdpr_facebook_prior_consent_enabled' ),
75
  'analytics_prior_consent_enabled' => PYS()->getOption( 'gdpr_analytics_prior_consent_enabled' ),
76
  'google_ads_prior_consent_enabled' => PYS()->getOption( 'gdpr_google_ads_prior_consent_enabled' ),
77
  'pinterest_prior_consent_enabled' => PYS()->getOption( 'gdpr_pinterest_prior_consent_enabled' ),
78
+ 'bing_prior_consent_enabled' => PYS()->getOption( 'gdpr_bing_prior_consent_enabled' ),
79
 
80
  'cookiebot_integration_enabled' => isCookiebotPluginActivated() && PYS()->getOption( 'gdpr_cookiebot_integration_enabled' ),
81
  'cookiebot_facebook_consent_category' => PYS()->getOption( 'gdpr_cookiebot_facebook_consent_category' ),
82
  'cookiebot_analytics_consent_category' => PYS()->getOption( 'gdpr_cookiebot_analytics_consent_category' ),
83
  'cookiebot_google_ads_consent_category' => PYS()->getOption( 'gdpr_cookiebot_google_ads_consent_category' ),
84
  'cookiebot_pinterest_consent_category' => PYS()->getOption( 'gdpr_cookiebot_pinterest_consent_category' ),
85
+ 'cookiebot_bing_consent_category' => PYS()->getOption( 'gdpr_cookiebot_bing_consent_category' ),
86
 
87
  'ginger_integration_enabled' => isGingerPluginActivated() && PYS()->getOption( 'gdpr_ginger_integration_enabled' ),
88
  'cookie_notice_integration_enabled' => isCookieNoticePluginActivated() && PYS()->getOption( 'gdpr_cookie_notice_integration_enabled' ),
includes/class-pys.php CHANGED
@@ -95,7 +95,7 @@ final class PYS extends Settings implements Plugin {
95
  PYS_FREE_PATH . '/includes/options_defaults.json'
96
  );
97
 
98
- // register pixels and plugins (addons)
99
  do_action( 'pys_register_pixels', $this );
100
  do_action( 'pys_register_plugins', $this );
101
 
@@ -105,6 +105,12 @@ final class PYS extends Settings implements Plugin {
105
  require_once PYS_FREE_PATH . '/modules/pinterest/pinterest.php';
106
  }
107
 
 
 
 
 
 
 
108
  // maybe disable Facebook for WooCommerce pixel output
109
  if ( isWooCommerceActive() && $this->getOption( 'woo_enabled' )
110
  && array_key_exists( 'facebook', $this->registeredPixels ) && Facebook()->configured() ) {
@@ -205,7 +211,7 @@ final class PYS extends Settings implements Plugin {
205
  }
206
 
207
  // at least one pixel should be configured
208
- if ( ! Facebook()->configured() && ! GA()->configured() && ! Pinterest()->configured() ) {
209
 
210
  add_action( 'wp_head', function() {
211
  echo "<script type='text/javascript'>console.warn('PixelYourSite: no pixel configured.');</script>\r\n";
@@ -227,6 +233,7 @@ final class PYS extends Settings implements Plugin {
227
  'facebook_disabled_by_api' => apply_filters( 'pys_disable_facebook_by_gdpr', false ),
228
  'analytics_disabled_by_api' => apply_filters( 'pys_disable_analytics_by_gdpr', false ),
229
  'pinterest_disabled_by_api' => apply_filters( 'pys_disable_pinterest_by_gdpr', false ),
 
230
  ) );
231
 
232
  }
95
  PYS_FREE_PATH . '/includes/options_defaults.json'
96
  );
97
 
98
+ // register pixels and plugins (add-ons)
99
  do_action( 'pys_register_pixels', $this );
100
  do_action( 'pys_register_plugins', $this );
101
 
105
  require_once PYS_FREE_PATH . '/modules/pinterest/pinterest.php';
106
  }
107
 
108
+ // load dummy Bing plugin for admin UI
109
+ if ( ! array_key_exists( 'bing', $this->registeredPlugins ) ) {
110
+ /** @noinspection PhpIncludeInspection */
111
+ require_once PYS_FREE_PATH . '/modules/bing/bing.php';
112
+ }
113
+
114
  // maybe disable Facebook for WooCommerce pixel output
115
  if ( isWooCommerceActive() && $this->getOption( 'woo_enabled' )
116
  && array_key_exists( 'facebook', $this->registeredPixels ) && Facebook()->configured() ) {
211
  }
212
 
213
  // at least one pixel should be configured
214
+ if ( ! Facebook()->configured() && ! GA()->configured() && ! Pinterest()->configured() && ! Bing()->configured() ) {
215
 
216
  add_action( 'wp_head', function() {
217
  echo "<script type='text/javascript'>console.warn('PixelYourSite: no pixel configured.');</script>\r\n";
233
  'facebook_disabled_by_api' => apply_filters( 'pys_disable_facebook_by_gdpr', false ),
234
  'analytics_disabled_by_api' => apply_filters( 'pys_disable_analytics_by_gdpr', false ),
235
  'pinterest_disabled_by_api' => apply_filters( 'pys_disable_pinterest_by_gdpr', false ),
236
+ 'bing_disabled_by_api' => apply_filters( 'pys_disable_bing_by_gdpr', false ),
237
  ) );
238
 
239
  }
includes/functions-admin.php CHANGED
@@ -232,7 +232,17 @@ function adminRenderNotices() {
232
  adminRenderLicenseExpirationNotice( Pinterest() );
233
  }
234
  }
235
-
 
 
 
 
 
 
 
 
 
 
236
  /**
237
  * Pixel ID notices
238
  */
@@ -306,6 +316,17 @@ function adminRenderNotices() {
306
  }
307
 
308
  }
 
 
 
 
 
 
 
 
 
 
 
309
 
310
  /**
311
  * GDPR
@@ -408,6 +429,21 @@ function adminRenderActivatePinterestLicence() {
408
  <?php
409
  }
410
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
411
  function adminRenderNoPixelsNotice() {
412
 
413
  if ( 'pixelyoursite' == getCurrentAdminPage() ) {
232
  adminRenderLicenseExpirationNotice( Pinterest() );
233
  }
234
  }
235
+
236
+ if ( isBingActive( false ) && isBingVersionIncompatible() ) {
237
+ adminIncompatibleVersionNotice( 'PixelYourSite Bing Add-On', PYS_FREE_BING_MIN_VERSION );
238
+ } elseif ( isBingActive() ) {
239
+ $expire_at = Bing()->getOption( 'license_expires' );
240
+
241
+ if ( $expire_at && $now > $expire_at ) {
242
+ adminRenderLicenseExpirationNotice( Bing() );
243
+ }
244
+ }
245
+
246
  /**
247
  * Pixel ID notices
248
  */
316
  }
317
 
318
  }
319
+
320
+ if ( isBingActive() ) {
321
+
322
+ $bing_license_status = Bing()->getOption( 'license_status' );
323
+
324
+ // show notice if licence was never activated
325
+ if (Bing()->enabled() && empty($bing_license_status)) {
326
+ adminRenderActivateBingLicence();
327
+ }
328
+
329
+ }
330
 
331
  /**
332
  * GDPR
429
  <?php
430
  }
431
 
432
+ function adminRenderActivateBingLicence() {
433
+
434
+ if ( 'pixelyoursite_licenses' == getCurrentAdminPage() ) {
435
+ return; // do not show notice licenses page
436
+ }
437
+
438
+ ?>
439
+
440
+ <div class="notice notice-error">
441
+ <p>Activate your PixelYourSite Microsoft UET (Bing) add-on license: <a href="<?php echo esc_url( buildAdminUrl( 'pixelyoursite_licenses' ) ); ?>">click here</a>.</p>
442
+ </div>
443
+
444
+ <?php
445
+ }
446
+
447
  function adminRenderNoPixelsNotice() {
448
 
449
  if ( 'pixelyoursite' == getCurrentAdminPage() ) {
includes/functions-common.php CHANGED
@@ -62,6 +62,36 @@ function isSuperPackActive( $checkCompatibility = true ) {
62
 
63
  }
64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  /**
66
  * Check if WooCommerce plugin installed and activated.
67
  *
62
 
63
  }
64
 
65
+ function isBingActive( $checkCompatibility = true ) {
66
+
67
+ if ( ! function_exists( 'is_plugin_active' ) ) {
68
+ include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
69
+ }
70
+
71
+ $active = is_plugin_active( 'pixelyoursite-bing/pixelyoursite-bing.php' );
72
+
73
+ if ( $checkCompatibility ) {
74
+ return $active && ! isBingVersionIncompatible()
75
+ && function_exists( 'PixelYourSite\Bing' )
76
+ && Bing() instanceof Plugin; // false for dummy
77
+ } else {
78
+ return $active;
79
+ }
80
+
81
+ }
82
+
83
+ function isBingVersionIncompatible() {
84
+
85
+ if ( ! function_exists( 'get_plugin_data' ) ) {
86
+ include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
87
+ }
88
+
89
+ $data = get_plugin_data( WP_PLUGIN_DIR . '/pixelyoursite-bing/pixelyoursite-bing.php', false, false );
90
+
91
+ return ! version_compare( $data['Version'], PYS_FREE_BING_MIN_VERSION, '>=' );
92
+
93
+ }
94
+
95
  /**
96
  * Check if WooCommerce plugin installed and activated.
97
  *
includes/functions-migrate.php CHANGED
@@ -18,8 +18,15 @@ function maybeMigrate() {
18
 
19
  $pys_free_7_version = get_option( 'pys_core_version', false );
20
  $v5_free = get_option( 'pixel_your_site' );
21
-
22
- if ( ! $pys_free_7_version && is_array( $v5_free ) ) {
 
 
 
 
 
 
 
23
  // migrate from FREE 5.x
24
 
25
  migrate_v5_free_options();
@@ -38,6 +45,19 @@ function maybeMigrate() {
38
 
39
  }
40
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  function migrate_v5_free_options() {
42
 
43
  $v5_free = get_option( 'pixel_your_site' );
18
 
19
  $pys_free_7_version = get_option( 'pys_core_version', false );
20
  $v5_free = get_option( 'pixel_your_site' );
21
+
22
+ if ($pys_free_7_version && version_compare($pys_free_7_version, '7.1.0', '<')) {
23
+
24
+ migrate_7_1_0_bing_defaults();
25
+
26
+ update_option( 'pys_core_version', PYS_FREE_VERSION );
27
+ update_option( 'pys_updated_at', time() );
28
+
29
+ } elseif ( ! $pys_free_7_version && is_array( $v5_free ) ) {
30
  // migrate from FREE 5.x
31
 
32
  migrate_v5_free_options();
45
 
46
  }
47
 
48
+ function migrate_7_1_0_bing_defaults() {
49
+
50
+ $bing_defaults = array(
51
+ 'gdpr_bing_prior_consent_enabled' => true,
52
+ 'gdpr_cookiebot_bing_consent_category' => 'marketing',
53
+ );
54
+
55
+ // update settings
56
+ PYS()->updateOptions( $bing_defaults );
57
+ PYS()->reloadOptions();
58
+
59
+ }
60
+
61
  function migrate_v5_free_options() {
62
 
63
  $v5_free = get_option( 'pixel_your_site' );
includes/functions-promo-notices.php CHANGED
@@ -117,8 +117,19 @@ function adminGetCurrentPromoNotice() {
117
  } else {
118
  return false;
119
  }
120
-
121
- if ( ! is_array( $notices ) || empty( $notices ) ) {
 
 
 
 
 
 
 
 
 
 
 
122
  return false;
123
  }
124
 
117
  } else {
118
  return false;
119
  }
120
+
121
+ if (!is_array($notices) || empty($notices)) {
122
+ $next = isset($set['next']) ? $set['next'] : false;
123
+
124
+ if (!$next) {
125
+ return false;
126
+ }
127
+
128
+ $path = PYS_FREE_PATH . '/notices/' . $next . '.php';
129
+ if (file_exists($path)) {
130
+ update_user_meta( $user_id, 'pys_free_current_promo_notices_set', $next );
131
+ }
132
+
133
  return false;
134
  }
135
 
includes/options_defaults.json CHANGED
@@ -61,10 +61,12 @@
61
  "gdpr_facebook_prior_consent_enabled": true,
62
  "gdpr_analytics_prior_consent_enabled": true,
63
  "gdpr_pinterest_prior_consent_enabled": true,
 
64
  "gdpr_cookiebot_integration_enabled": false,
65
  "gdpr_cookiebot_facebook_consent_category": "marketing",
66
  "gdpr_cookiebot_analytics_consent_category": "statistics",
67
  "gdpr_cookiebot_pinterest_consent_category": "marketing",
 
68
  "gdpr_ginger_integration_enabled": false,
69
  "gdpr_cookie_notice_integration_enabled": false,
70
  "gdpr_cookie_law_info_integration_enabled": false,
61
  "gdpr_facebook_prior_consent_enabled": true,
62
  "gdpr_analytics_prior_consent_enabled": true,
63
  "gdpr_pinterest_prior_consent_enabled": true,
64
+ "gdpr_bing_prior_consent_enabled": true,
65
  "gdpr_cookiebot_integration_enabled": false,
66
  "gdpr_cookiebot_facebook_consent_category": "marketing",
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,
includes/options_fields.json CHANGED
@@ -50,10 +50,12 @@
50
  "gdpr_facebook_prior_consent_enabled": "checkbox",
51
  "gdpr_analytics_prior_consent_enabled": "checkbox",
52
  "gdpr_pinterest_prior_consent_enabled": "checkbox",
 
53
  "gdpr_cookiebot_integration_enabled": "checkbox",
54
  "gdpr_cookiebot_facebook_consent_category": "text",
55
  "gdpr_cookiebot_analytics_consent_category": "text",
56
  "gdpr_cookiebot_pinterest_consent_category": "text",
 
57
  "gdpr_ginger_integration_enabled": "checkbox",
58
  "gdpr_cookie_notice_integration_enabled": "checkbox",
59
  "gdpr_cookie_law_info_integration_enabled": "checkbox",
50
  "gdpr_facebook_prior_consent_enabled": "checkbox",
51
  "gdpr_analytics_prior_consent_enabled": "checkbox",
52
  "gdpr_pinterest_prior_consent_enabled": "checkbox",
53
+ "gdpr_bing_prior_consent_enabled": "checkbox",
54
  "gdpr_cookiebot_integration_enabled": "checkbox",
55
  "gdpr_cookiebot_facebook_consent_category": "text",
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",
includes/views/html-gdpr.php CHANGED
@@ -95,6 +95,13 @@ if ( ! defined( 'ABSPATH' ) ) {
95
  be GDPR compliant)</h4>
96
  </div>
97
  </div>
 
 
 
 
 
 
 
98
  </div>
99
  </div>
100
 
@@ -162,6 +169,15 @@ if ( ! defined( 'ABSPATH' ) ) {
162
  'Enter consent category', ! isCookiebotPluginActivated() ); ?>
163
  </div>
164
  </div>
 
 
 
 
 
 
 
 
 
165
  </div>
166
  </div>
167
 
@@ -285,8 +301,8 @@ if ( ! defined( 'ABSPATH' ) ) {
285
  <div class="col">
286
  <p>Use following filters to control each pixel:
287
  <code>pys_disable_by_gdpr</code>, <code>pys_disable_facebook_by_gdpr</code>,
288
- <code>pys_disable_analytics_by_gdpr</code>, <code>pys_disable_google_ads_by_gdpr</code>
289
- or <code>pys_disable_pinterest_by_gdpr</code>.
290
  </p>
291
  <p class="mb-0">First filter will disable all pixels, other can be used to disable particular pixel.
292
  Simply pass <code>TRUE</code> value to disable a pixel.
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
 
169
  'Enter consent category', ! isCookiebotPluginActivated() ); ?>
170
  </div>
171
  </div>
172
+ <div class="row mt-3">
173
+ <div class="col-4">
174
+ <label class="label-inline">Bing consent category:</label>
175
+ </div>
176
+ <div class="col-4">
177
+ <?php PYS()->render_text_input( 'gdpr_cookiebot_bing_consent_category',
178
+ 'Enter consent category', ! isCookiebotPluginActivated() ); ?>
179
+ </div>
180
+ </div>
181
  </div>
182
  </div>
183
 
301
  <div class="col">
302
  <p>Use following filters to control each pixel:
303
  <code>pys_disable_by_gdpr</code>, <code>pys_disable_facebook_by_gdpr</code>,
304
+ <code>pys_disable_analytics_by_gdpr</code>, <code>pys_disable_google_ads_by_gdpr</code>,
305
+ <code>pys_disable_pinterest_by_gdpr</code> or <code>pys_disable_bing_by_gdpr</code>.
306
  </p>
307
  <p class="mb-0">First filter will disable all pixels, other can be used to disable particular pixel.
308
  Simply pass <code>TRUE</code> value to disable a pixel.
includes/views/html-main-edd.php CHANGED
@@ -184,6 +184,27 @@ if ( ! defined( 'ABSPATH' ) ) {
184
  </div>
185
  </div>
186
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
187
  <!-- Event Value -->
188
  <div class="card card-static card-disabled">
189
  <div class="card-header">
@@ -249,6 +270,16 @@ if ( ! defined( 'ABSPATH' ) ) {
249
  </div>
250
  <?php endif; ?>
251
 
 
 
 
 
 
 
 
 
 
 
252
  <div class="row mt-3">
253
  <div class="col-11 col-offset-left">
254
  <label class="label-inline">Facebook and Pinterest value parameter settings:</label>
@@ -341,6 +372,16 @@ if ( ! defined( 'ABSPATH' ) ) {
341
  </div>
342
  <?php endif; ?>
343
 
 
 
 
 
 
 
 
 
 
 
344
  <div class="row my-3">
345
  <div class="col-11 col-offset-left">
346
  <?php PYS()->render_switcher_input( 'edd_initiate_checkout_value_enabled', true ); ?>
@@ -449,6 +490,16 @@ if ( ! defined( 'ABSPATH' ) ) {
449
  </div>
450
  <?php endif; ?>
451
 
 
 
 
 
 
 
 
 
 
 
452
  </div>
453
  </div>
454
 
@@ -478,6 +529,16 @@ if ( ! defined( 'ABSPATH' ) ) {
478
  </div>
479
  <?php endif; ?>
480
 
 
 
 
 
 
 
 
 
 
 
481
  <div class="row my-3">
482
  <div class="col-11 col-offset-left">
483
  <?php PYS()->render_switcher_input( 'edd_add_to_cart_value_enabled', true ); ?>
@@ -563,6 +624,16 @@ if ( ! defined( 'ABSPATH' ) ) {
563
  </div>
564
  <?php endif; ?>
565
 
 
 
 
 
 
 
 
 
 
 
566
  <div class="row my-3">
567
  <div class="col col-offset-left form-inline">
568
  <label>Delay</label>
@@ -679,6 +750,16 @@ if ( ! defined( 'ABSPATH' ) ) {
679
  </div>
680
  <?php endif; ?>
681
 
 
 
 
 
 
 
 
 
 
 
682
  </div>
683
  </div>
684
 
@@ -723,6 +804,13 @@ if ( ! defined( 'ABSPATH' ) ) {
723
  <h4 class="switcher-label">Enable on Pinterest</h4>
724
  </div>
725
  </div>
 
 
 
 
 
 
 
726
 
727
  <div class="row mt-3">
728
  <div class="col col-offset-left form-inline">
@@ -773,6 +861,13 @@ if ( ! defined( 'ABSPATH' ) ) {
773
  <h4 class="switcher-label">Enable on Pinterest</h4>
774
  </div>
775
  </div>
 
 
 
 
 
 
 
776
 
777
  <div class="row mt-3">
778
  <div class="col col-offset-left form-inline">
@@ -824,6 +919,13 @@ if ( ! defined( 'ABSPATH' ) ) {
824
  <h4 class="switcher-label">Enable on Pinterest</h4>
825
  </div>
826
  </div>
 
 
 
 
 
 
 
827
 
828
  <div class="row mt-3">
829
  <div class="col col-offset-left form-inline">
184
  </div>
185
  </div>
186
 
187
+ <?php if ( Bing()->enabled() ) : ?>
188
+ <div class="card card-static">
189
+ <div class="card-header">
190
+ Bing ID setting
191
+ </div>
192
+ <div class="card-body">
193
+ <div class="row">
194
+ <div class="col col-offset-left form-inline">
195
+ <label>Product ID</label>
196
+ <?php Bing()->render_select_input( 'edd_content_id',
197
+ array(
198
+ 'product_id' => 'Download ID',
199
+ 'product_sku' => 'Download SKU',
200
+ )
201
+ ); ?>
202
+ </div>
203
+ </div>
204
+ </div>
205
+ </div>
206
+ <?php endif; ?>
207
+
208
  <!-- Event Value -->
209
  <div class="card card-static card-disabled">
210
  <div class="card-header">
270
  </div>
271
  <?php endif; ?>
272
 
273
+ <?php if ( Bing()->enabled() ) : ?>
274
+ <div class="row">
275
+ <div class="col">
276
+ <?php Bing()->render_switcher_input( 'edd_purchase_enabled' ); ?>
277
+ <h4 class="switcher-label">Enable the Purchase event on Bing</h4>
278
+ <?php Bing()->renderAddonNotice(); ?>
279
+ </div>
280
+ </div>
281
+ <?php endif; ?>
282
+
283
  <div class="row mt-3">
284
  <div class="col-11 col-offset-left">
285
  <label class="label-inline">Facebook and Pinterest value parameter settings:</label>
372
  </div>
373
  <?php endif; ?>
374
 
375
+ <?php if ( Bing()->enabled() ) : ?>
376
+ <div class="row">
377
+ <div class="col">
378
+ <?php Bing()->render_switcher_input( 'edd_initiate_checkout_enabled' ); ?>
379
+ <h4 class="switcher-label">Enable the InitiateCheckout on Bing</h4>
380
+ <?php Bing()->renderAddonNotice(); ?>
381
+ </div>
382
+ </div>
383
+ <?php endif; ?>
384
+
385
  <div class="row my-3">
386
  <div class="col-11 col-offset-left">
387
  <?php PYS()->render_switcher_input( 'edd_initiate_checkout_value_enabled', true ); ?>
490
  </div>
491
  <?php endif; ?>
492
 
493
+ <?php if ( Bing()->enabled() ) : ?>
494
+ <div class="row">
495
+ <div class="col">
496
+ <?php Bing()->render_switcher_input( 'edd_remove_from_cart_enabled' ); ?>
497
+ <h4 class="switcher-label">Enable the RemoveFromCart event on Bing</h4>
498
+ <?php Bing()->renderAddonNotice(); ?>
499
+ </div>
500
+ </div>
501
+ <?php endif; ?>
502
+
503
  </div>
504
  </div>
505
 
529
  </div>
530
  <?php endif; ?>
531
 
532
+ <?php if ( Bing()->enabled() ) : ?>
533
+ <div class="row">
534
+ <div class="col">
535
+ <?php Bing()->render_switcher_input( 'edd_add_to_cart_enabled' ); ?>
536
+ <h4 class="switcher-label">Enable the AddToCart event on Bing</h4>
537
+ <?php Bing()->renderAddonNotice(); ?>
538
+ </div>
539
+ </div>
540
+ <?php endif; ?>
541
+
542
  <div class="row my-3">
543
  <div class="col-11 col-offset-left">
544
  <?php PYS()->render_switcher_input( 'edd_add_to_cart_value_enabled', true ); ?>
624
  </div>
625
  <?php endif; ?>
626
 
627
+ <?php if ( Bing()->enabled() ) : ?>
628
+ <div class="row">
629
+ <div class="col">
630
+ <?php Bing()->render_switcher_input( 'edd_view_content_enabled' ); ?>
631
+ <h4 class="switcher-label">Enable the PageVisit event on Bing</h4>
632
+ <?php Bing()->renderAddonNotice(); ?>
633
+ </div>
634
+ </div>
635
+ <?php endif; ?>
636
+
637
  <div class="row my-3">
638
  <div class="col col-offset-left form-inline">
639
  <label>Delay</label>
750
  </div>
751
  <?php endif; ?>
752
 
753
+ <?php if ( Bing()->enabled() ) : ?>
754
+ <div class="row">
755
+ <div class="col">
756
+ <?php Bing()->render_switcher_input( 'edd_view_category_enabled' ); ?>
757
+ <h4 class="switcher-label">Enable the ViewCategory event on Bing</h4>
758
+ <?php Bing()->renderAddonNotice(); ?>
759
+ </div>
760
+ </div>
761
+ <?php endif; ?>
762
+
763
  </div>
764
  </div>
765
 
804
  <h4 class="switcher-label">Enable on Pinterest</h4>
805
  </div>
806
  </div>
807
+
808
+ <div class="row">
809
+ <div class="col">
810
+ <?php renderDummySwitcher(); ?>
811
+ <h4 class="switcher-label">Enable on Bing</h4>
812
+ </div>
813
+ </div>
814
 
815
  <div class="row mt-3">
816
  <div class="col col-offset-left form-inline">
861
  <h4 class="switcher-label">Enable on Pinterest</h4>
862
  </div>
863
  </div>
864
+
865
+ <div class="row">
866
+ <div class="col">
867
+ <?php renderDummySwitcher(); ?>
868
+ <h4 class="switcher-label">Enable on Bing</h4>
869
+ </div>
870
+ </div>
871
 
872
  <div class="row mt-3">
873
  <div class="col col-offset-left form-inline">
919
  <h4 class="switcher-label">Enable on Pinterest</h4>
920
  </div>
921
  </div>
922
+
923
+ <div class="row">
924
+ <div class="col">
925
+ <?php renderDummySwitcher(); ?>
926
+ <h4 class="switcher-label">Enable on Bing</h4>
927
+ </div>
928
+ </div>
929
 
930
  <div class="row mt-3">
931
  <div class="col col-offset-left form-inline">
includes/views/html-main-events-edit.php CHANGED
@@ -551,6 +551,10 @@ $event = isset( $_REQUEST['id'] ) ? CustomEventFactory::getById( $_REQUEST['id']
551
  <?php Pinterest()->renderCustomEventOptions( $event ); ?>
552
  <?php endif; ?>
553
 
 
 
 
 
554
  <div class="card card-static card-disabled">
555
  <div class="card-header">
556
  Dynamic Parameters Help <?php renderProBadge(); ?>
551
  <?php Pinterest()->renderCustomEventOptions( $event ); ?>
552
  <?php endif; ?>
553
 
554
+ <?php if ( Bing()->enabled() ) : ?>
555
+ <?php Bing()->renderCustomEventOptions( $event ); ?>
556
+ <?php endif; ?>
557
+
558
  <div class="card card-static card-disabled">
559
  <div class="card-header">
560
  Dynamic Parameters Help <?php renderProBadge(); ?>
includes/views/html-main-general.php CHANGED
@@ -130,6 +130,16 @@ if ( ! defined( 'ABSPATH' ) ) {
130
  </div>
131
  </div>
132
 
 
 
 
 
 
 
 
 
 
 
133
  <div class="row my-3">
134
  <div class="col form-inline">
135
  <label>Custom name</label>
@@ -269,6 +279,16 @@ if ( ! defined( 'ABSPATH' ) ) {
269
  <?php renderProBadge('https://www.pixelyoursite.com/google-ads-tag/?utm_source=pys-free-plugin&utm_medium=pro-badge&utm_campaign=pro-feature') ?>
270
  </div>
271
  </div>
 
 
 
 
 
 
 
 
 
 
272
 
273
  <?php if ( Pinterest()->enabled() ) : ?>
274
  <div class="row">
@@ -340,6 +360,16 @@ if ( ! defined( 'ABSPATH' ) ) {
340
  </div>
341
  <?php endif; ?>
342
 
 
 
 
 
 
 
 
 
 
 
343
  </div>
344
  </div>
345
 
@@ -400,6 +430,16 @@ if ( ! defined( 'ABSPATH' ) ) {
400
  </div>
401
  <?php endif; ?>
402
 
 
 
 
 
 
 
 
 
 
 
403
  </div>
404
  </div>
405
 
@@ -452,7 +492,7 @@ if ( ! defined( 'ABSPATH' ) ) {
452
  </div>
453
 
454
  <?php if ( Pinterest()->enabled() ) : ?>
455
- <div class="row mb-3">
456
  <div class="col">
457
  <?php Pinterest()->render_switcher_input( 'download_event_enabled' ); ?>
458
  <h4 class="switcher-label">Enable the Download event on Pinterest</h4>
@@ -461,7 +501,17 @@ if ( ! defined( 'ABSPATH' ) ) {
461
  </div>
462
  <?php endif; ?>
463
 
464
- <div class="row">
 
 
 
 
 
 
 
 
 
 
465
  <div class="col">
466
  <h4 class="label">Extension of files to track as downloads:</h4>
467
  <?php PYS()->render_tags_select_input( 'download_event_extensions' ); ?>
@@ -530,6 +580,13 @@ if ( ! defined( 'ABSPATH' ) ) {
530
  <h4 class="switcher-label">Enable the ClickEvent on Pinterest</h4>
531
  </div>
532
  </div>
 
 
 
 
 
 
 
533
 
534
  </div>
535
  </div>
@@ -583,6 +640,13 @@ if ( ! defined( 'ABSPATH' ) ) {
583
  </div>
584
  </div>
585
 
 
 
 
 
 
 
 
586
  <div class="row mt-3">
587
  <div class="col col-offset-left">
588
  <div class="indicator indicator-off">OFF</div>
@@ -647,7 +711,14 @@ if ( ! defined( 'ABSPATH' ) ) {
647
  <h4 class="switcher-label">Enable the Signup event on Pinterest</h4>
648
  </div>
649
  </div>
650
-
 
 
 
 
 
 
 
651
  </div>
652
  </div>
653
 
@@ -681,6 +752,13 @@ if ( ! defined( 'ABSPATH' ) ) {
681
  <h4 class="switcher-label">Enable the AdSense event on Pinterest</h4>
682
  </div>
683
  </div>
 
 
 
 
 
 
 
684
 
685
  <?php if ( GA()->enabled() ) : ?>
686
  <div class="row mt-3">
130
  </div>
131
  </div>
132
 
133
+ <?php if ( Bing()->enabled() ) : ?>
134
+ <div class="row">
135
+ <div class="col">
136
+ <?php Bing()->render_switcher_input( 'general_event_enabled' ); ?>
137
+ <h4 class="switcher-label">Enable on Bing</h4>
138
+ <?php Bing()->renderAddonNotice(); ?>
139
+ </div>
140
+ </div>
141
+ <?php endif; ?>
142
+
143
  <div class="row my-3">
144
  <div class="col form-inline">
145
  <label>Custom name</label>
279
  <?php renderProBadge('https://www.pixelyoursite.com/google-ads-tag/?utm_source=pys-free-plugin&utm_medium=pro-badge&utm_campaign=pro-feature') ?>
280
  </div>
281
  </div>
282
+
283
+ <?php if ( Bing()->enabled() ) : ?>
284
+ <div class="row">
285
+ <div class="col">
286
+ <?php Bing()->render_switcher_input( 'search_event_enabled' ); ?>
287
+ <h4 class="switcher-label">Enable the Search event on Bing</h4>
288
+ <?php Bing()->renderAddonNotice(); ?>
289
+ </div>
290
+ </div>
291
+ <?php endif; ?>
292
 
293
  <?php if ( Pinterest()->enabled() ) : ?>
294
  <div class="row">
360
  </div>
361
  <?php endif; ?>
362
 
363
+ <?php if ( Bing()->enabled() ) : ?>
364
+ <div class="row">
365
+ <div class="col">
366
+ <?php Bing()->render_switcher_input( 'form_event_enabled' ); ?>
367
+ <h4 class="switcher-label">Enable the Form event on Bing</h4>
368
+ <?php Bing()->renderAddonNotice(); ?>
369
+ </div>
370
+ </div>
371
+ <?php endif; ?>
372
+
373
  </div>
374
  </div>
375
 
430
  </div>
431
  <?php endif; ?>
432
 
433
+ <?php if ( Bing()->enabled() ) : ?>
434
+ <div class="row">
435
+ <div class="col">
436
+ <?php Bing()->render_switcher_input( 'comment_event_enabled' ); ?>
437
+ <h4 class="switcher-label">Enable the Comment event on Bing</h4>
438
+ <?php Bing()->renderAddonNotice(); ?>
439
+ </div>
440
+ </div>
441
+ <?php endif; ?>
442
+
443
  </div>
444
  </div>
445
 
492
  </div>
493
 
494
  <?php if ( Pinterest()->enabled() ) : ?>
495
+ <div class="row">
496
  <div class="col">
497
  <?php Pinterest()->render_switcher_input( 'download_event_enabled' ); ?>
498
  <h4 class="switcher-label">Enable the Download event on Pinterest</h4>
501
  </div>
502
  <?php endif; ?>
503
 
504
+ <?php if ( Bing()->enabled() ) : ?>
505
+ <div class="row">
506
+ <div class="col">
507
+ <?php Bing()->render_switcher_input( 'download_event_enabled' ); ?>
508
+ <h4 class="switcher-label">Enable the Download event on Bing</h4>
509
+ <?php Bing()->renderAddonNotice(); ?>
510
+ </div>
511
+ </div>
512
+ <?php endif; ?>
513
+
514
+ <div class="row mt-3">
515
  <div class="col">
516
  <h4 class="label">Extension of files to track as downloads:</h4>
517
  <?php PYS()->render_tags_select_input( 'download_event_extensions' ); ?>
580
  <h4 class="switcher-label">Enable the ClickEvent on Pinterest</h4>
581
  </div>
582
  </div>
583
+
584
+ <div class="row">
585
+ <div class="col">
586
+ <?php renderDummySwitcher(); ?>
587
+ <h4 class="switcher-label">Enable the ClickEvent on Bing</h4>
588
+ </div>
589
+ </div>
590
 
591
  </div>
592
  </div>
640
  </div>
641
  </div>
642
 
643
+ <div class="row">
644
+ <div class="col">
645
+ <?php renderDummySwitcher(); ?>
646
+ <h4 class="switcher-label">Enable the ClickEvent on Bing</h4>
647
+ </div>
648
+ </div>
649
+
650
  <div class="row mt-3">
651
  <div class="col col-offset-left">
652
  <div class="indicator indicator-off">OFF</div>
711
  <h4 class="switcher-label">Enable the Signup event on Pinterest</h4>
712
  </div>
713
  </div>
714
+
715
+ <div class="row">
716
+ <div class="col">
717
+ <?php renderDummySwitcher(); ?>
718
+ <h4 class="switcher-label">Enable the ClickEvent on Bing</h4>
719
+ </div>
720
+ </div>
721
+
722
  </div>
723
  </div>
724
 
752
  <h4 class="switcher-label">Enable the AdSense event on Pinterest</h4>
753
  </div>
754
  </div>
755
+
756
+ <div class="row">
757
+ <div class="col">
758
+ <?php renderDummySwitcher(); ?>
759
+ <h4 class="switcher-label">Enable the ClickEvent on Bing</h4>
760
+ </div>
761
+ </div>
762
 
763
  <?php if ( GA()->enabled() ) : ?>
764
  <div class="row mt-3">
includes/views/html-main-woo.php CHANGED
@@ -265,6 +265,27 @@ use PixelYourSite\Facebook\Helpers;
265
  </div>
266
  </div>
267
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
268
  <!-- Event Value -->
269
  <div class="card card-static card-disabled">
270
  <div class="card-header">
@@ -332,6 +353,16 @@ use PixelYourSite\Facebook\Helpers;
332
  </div>
333
  <?php endif; ?>
334
 
 
 
 
 
 
 
 
 
 
 
335
  <div class="row mt-3">
336
  <div class="col-11 col-offset-left">
337
  <label class="label-inline">Facebook and Pinterest value parameter settings:</label>
@@ -423,6 +454,16 @@ use PixelYourSite\Facebook\Helpers;
423
  </div>
424
  <?php endif; ?>
425
 
 
 
 
 
 
 
 
 
 
 
426
  <div class="row my-3">
427
  <div class="col-11 col-offset-left">
428
  <?php PYS()->render_switcher_input( 'woo_initiate_checkout_value_enabled', true ); ?>
@@ -531,6 +572,16 @@ use PixelYourSite\Facebook\Helpers;
531
  </div>
532
  <?php endif; ?>
533
 
 
 
 
 
 
 
 
 
 
 
534
  </div>
535
  </div>
536
 
@@ -560,6 +611,16 @@ use PixelYourSite\Facebook\Helpers;
560
  </div>
561
  <?php endif; ?>
562
 
 
 
 
 
 
 
 
 
 
 
563
  <div class="row my-3">
564
  <div class="col-11 col-offset-left">
565
  <?php PYS()->render_switcher_input( 'woo_add_to_cart_value_enabled', true ); ?>
@@ -645,6 +706,16 @@ use PixelYourSite\Facebook\Helpers;
645
  </div>
646
  <?php endif; ?>
647
 
 
 
 
 
 
 
 
 
 
 
648
  <div class="row my-3">
649
  <div class="col col-offset-left form-inline">
650
  <label>Delay</label>
@@ -761,6 +832,16 @@ use PixelYourSite\Facebook\Helpers;
761
  </div>
762
  <?php endif; ?>
763
 
 
 
 
 
 
 
 
 
 
 
764
  </div>
765
  </div>
766
 
@@ -807,6 +888,13 @@ use PixelYourSite\Facebook\Helpers;
807
  <h4 class="switcher-label">Enable on Pinterest</h4>
808
  </div>
809
  </div>
 
 
 
 
 
 
 
810
 
811
  <div class="row mt-3">
812
  <div class="col col-offset-left form-inline">
@@ -857,6 +945,13 @@ use PixelYourSite\Facebook\Helpers;
857
  <h4 class="switcher-label">Enable on Pinterest</h4>
858
  </div>
859
  </div>
 
 
 
 
 
 
 
860
 
861
  <div class="row mt-3">
862
  <div class="col col-offset-left form-inline">
@@ -908,6 +1003,13 @@ use PixelYourSite\Facebook\Helpers;
908
  <h4 class="switcher-label">Enable on Pinterest</h4>
909
  </div>
910
  </div>
 
 
 
 
 
 
 
911
 
912
  <div class="row mt-3">
913
  <div class="col col-offset-left form-inline">
@@ -940,6 +1042,13 @@ use PixelYourSite\Facebook\Helpers;
940
  <h4 class="switcher-label">Enable on Pinterest</h4>
941
  </div>
942
  </div>
 
 
 
 
 
 
 
943
 
944
  <div class="row my-3">
945
  <div class="col col-offset-left form-inline">
@@ -1014,6 +1123,13 @@ use PixelYourSite\Facebook\Helpers;
1014
  <h4 class="switcher-label">Enable on Pinterest</h4>
1015
  </div>
1016
  </div>
 
 
 
 
 
 
 
1017
 
1018
  <div class="row my-3">
1019
  <div class="col col-offset-left form-inline">
265
  </div>
266
  </div>
267
 
268
+ <?php if ( Bing()->enabled() ) : ?>
269
+ <div class="card card-static">
270
+ <div class="card-header">
271
+ Bing ID setting
272
+ </div>
273
+ <div class="card-body">
274
+ <div class="row">
275
+ <div class="col col-offset-left form-inline">
276
+ <label>Product ID</label>
277
+ <?php Bing()->render_select_input( 'woo_content_id',
278
+ array(
279
+ 'product_id' => 'Product ID',
280
+ 'product_sku' => 'Product SKU',
281
+ )
282
+ ); ?>
283
+ </div>
284
+ </div>
285
+ </div>
286
+ </div>
287
+ <?php endif; ?>
288
+
289
  <!-- Event Value -->
290
  <div class="card card-static card-disabled">
291
  <div class="card-header">
353
  </div>
354
  <?php endif; ?>
355
 
356
+ <?php if ( Bing()->enabled() ) : ?>
357
+ <div class="row">
358
+ <div class="col">
359
+ <?php Bing()->render_switcher_input( 'woo_purchase_enabled' ); ?>
360
+ <h4 class="switcher-label">Enable the Purchase event on Bing</h4>
361
+ <?php Bing()->renderAddonNotice(); ?>
362
+ </div>
363
+ </div>
364
+ <?php endif; ?>
365
+
366
  <div class="row mt-3">
367
  <div class="col-11 col-offset-left">
368
  <label class="label-inline">Facebook and Pinterest value parameter settings:</label>
454
  </div>
455
  <?php endif; ?>
456
 
457
+ <?php if ( Bing()->enabled() ) : ?>
458
+ <div class="row">
459
+ <div class="col">
460
+ <?php Bing()->render_switcher_input( 'woo_initiate_checkout_enabled' ); ?>
461
+ <h4 class="switcher-label">Enable the InitiateCheckout on Bing</h4>
462
+ <?php Bing()->renderAddonNotice(); ?>
463
+ </div>
464
+ </div>
465
+ <?php endif; ?>
466
+
467
  <div class="row my-3">
468
  <div class="col-11 col-offset-left">
469
  <?php PYS()->render_switcher_input( 'woo_initiate_checkout_value_enabled', true ); ?>
572
  </div>
573
  <?php endif; ?>
574
 
575
+ <?php if ( Bing()->enabled() ) : ?>
576
+ <div class="row">
577
+ <div class="col">
578
+ <?php Bing()->render_switcher_input( 'woo_remove_from_cart_enabled' ); ?>
579
+ <h4 class="switcher-label">Enable the RemoveFromCart event on Bing</h4>
580
+ <?php Bing()->renderAddonNotice(); ?>
581
+ </div>
582
+ </div>
583
+ <?php endif; ?>
584
+
585
  </div>
586
  </div>
587
 
611
  </div>
612
  <?php endif; ?>
613
 
614
+ <?php if ( Bing()->enabled() ) : ?>
615
+ <div class="row">
616
+ <div class="col">
617
+ <?php Bing()->render_switcher_input( 'woo_add_to_cart_enabled' ); ?>
618
+ <h4 class="switcher-label">Enable the AddToCart event on Bing</h4>
619
+ <?php Bing()->renderAddonNotice(); ?>
620
+ </div>
621
+ </div>
622
+ <?php endif; ?>
623
+
624
  <div class="row my-3">
625
  <div class="col-11 col-offset-left">
626
  <?php PYS()->render_switcher_input( 'woo_add_to_cart_value_enabled', true ); ?>
706
  </div>
707
  <?php endif; ?>
708
 
709
+ <?php if ( Bing()->enabled() ) : ?>
710
+ <div class="row">
711
+ <div class="col">
712
+ <?php Bing()->render_switcher_input( 'woo_view_content_enabled' ); ?>
713
+ <h4 class="switcher-label">Enable the PageVisit event on Bing</h4>
714
+ <?php Bing()->renderAddonNotice(); ?>
715
+ </div>
716
+ </div>
717
+ <?php endif; ?>
718
+
719
  <div class="row my-3">
720
  <div class="col col-offset-left form-inline">
721
  <label>Delay</label>
832
  </div>
833
  <?php endif; ?>
834
 
835
+ <?php if ( Bing()->enabled() ) : ?>
836
+ <div class="row">
837
+ <div class="col">
838
+ <?php Bing()->render_switcher_input( 'woo_view_category_enabled' ); ?>
839
+ <h4 class="switcher-label">Enable the ViewCategory event on Bing</h4>
840
+ <?php Bing()->renderAddonNotice(); ?>
841
+ </div>
842
+ </div>
843
+ <?php endif; ?>
844
+
845
  </div>
846
  </div>
847
 
888
  <h4 class="switcher-label">Enable on Pinterest</h4>
889
  </div>
890
  </div>
891
+
892
+ <div class="row">
893
+ <div class="col">
894
+ <?php renderDummySwitcher(); ?>
895
+ <h4 class="switcher-label">Enable on Bing</h4>
896
+ </div>
897
+ </div>
898
 
899
  <div class="row mt-3">
900
  <div class="col col-offset-left form-inline">
945
  <h4 class="switcher-label">Enable on Pinterest</h4>
946
  </div>
947
  </div>
948
+
949
+ <div class="row">
950
+ <div class="col">
951
+ <?php renderDummySwitcher(); ?>
952
+ <h4 class="switcher-label">Enable on Bing</h4>
953
+ </div>
954
+ </div>
955
 
956
  <div class="row mt-3">
957
  <div class="col col-offset-left form-inline">
1003
  <h4 class="switcher-label">Enable on Pinterest</h4>
1004
  </div>
1005
  </div>
1006
+
1007
+ <div class="row">
1008
+ <div class="col">
1009
+ <?php renderDummySwitcher(); ?>
1010
+ <h4 class="switcher-label">Enable on Bing</h4>
1011
+ </div>
1012
+ </div>
1013
 
1014
  <div class="row mt-3">
1015
  <div class="col col-offset-left form-inline">
1042
  <h4 class="switcher-label">Enable on Pinterest</h4>
1043
  </div>
1044
  </div>
1045
+
1046
+ <div class="row">
1047
+ <div class="col">
1048
+ <?php renderDummySwitcher(); ?>
1049
+ <h4 class="switcher-label">Enable on Bing</h4>
1050
+ </div>
1051
+ </div>
1052
 
1053
  <div class="row my-3">
1054
  <div class="col col-offset-left form-inline">
1123
  <h4 class="switcher-label">Enable on Pinterest</h4>
1124
  </div>
1125
  </div>
1126
+
1127
+ <div class="row">
1128
+ <div class="col">
1129
+ <?php renderDummySwitcher(); ?>
1130
+ <h4 class="switcher-label">Enable on Bing</h4>
1131
+ </div>
1132
+ </div>
1133
 
1134
  <div class="row my-3">
1135
  <div class="col col-offset-left form-inline">
modules/bing/bing.php ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace PixelYourSite;
4
+
5
+ if ( ! defined( 'ABSPATH' ) ) {
6
+ exit; // Exit if accessed directly.
7
+ }
8
+
9
+ class Bing extends Settings implements Pixel {
10
+
11
+ private static $_instance = null;
12
+
13
+ public static function instance() {
14
+
15
+ if ( is_null( self::$_instance ) ) {
16
+ self::$_instance = new self();
17
+ }
18
+
19
+ return self::$_instance;
20
+
21
+ }
22
+
23
+ public function __construct() {
24
+ add_action( 'pys_admin_pixel_ids', array( $this, 'renderPixelIdField' ) );
25
+ }
26
+
27
+ public function enabled() {
28
+ return true;
29
+ }
30
+
31
+ public function configured() {
32
+ return false;
33
+ }
34
+
35
+ public function getPixelIDs() {
36
+ return array();
37
+ }
38
+
39
+ public function getPixelOptions() {
40
+ return array();
41
+ }
42
+
43
+ public function getEventData( $eventType, $args = null ) {
44
+ return false;
45
+ }
46
+
47
+ public function outputNoScriptEvents() {}
48
+
49
+ public function render_switcher_input( $key, $collapse = false, $disabled = false ) {
50
+
51
+ $attr_id = 'pys_bing_' . $key;
52
+
53
+ ?>
54
+
55
+ <div class="custom-switch disabled">
56
+ <input type="checkbox" value="1" disabled="disabled"
57
+ id="<?php esc_attr_e( $attr_id ); ?>" class="custom-switch-input">
58
+ <label class="custom-switch-btn" for="<?php esc_attr_e( $attr_id ); ?>"></label>
59
+ </div>
60
+
61
+ <?php
62
+ }
63
+
64
+ public function renderCustomEventOptions( $event ) {}
65
+
66
+ public function renderAddonNotice() {
67
+ echo '&nbsp;<a href="https://www.pixelyoursite.com/bing-tag" target="_blank" class="badge badge-pill badge-secondary">Requires paid add-on</a>';
68
+ }
69
+
70
+ public function renderPixelIdField() {
71
+ ?>
72
+
73
+ <div class="row align-items-center">
74
+ <div class="col-3 py-4">
75
+ <img class="tag-logo" src="<?php echo PYS_FREE_URL; ?>/dist/images/microsoft-small-square.png">
76
+ </div>
77
+ <div class="col-7">
78
+ <h4 class="label">Microsoft the UET Tag (Bing) with <a href="https://www.pixelyoursite.com/bing-tag?utm_source=pixelyoursite-free-plugin&utm_medium=plugin&utm_campaign=free-plugin-bing" target="_blank">this pro add-on.</a></h4>
79
+ </div>
80
+ </div>
81
+ <hr>
82
+
83
+ <?php
84
+ }
85
+ }
86
+
87
+ /**
88
+ * @return Bing
89
+ */
90
+ function Bing() {
91
+ return Bing::instance();
92
+ }
93
+
94
+ Bing();
notices/0_clean.php CHANGED
@@ -14,5 +14,6 @@ function adminGetPromoNoticesContent() {
14
  ],
15
  'no_woo_no_edd' => [
16
  ],
 
17
  ];
18
  }
14
  ],
15
  'no_woo_no_edd' => [
16
  ],
17
+ 'next' => '7_1_0'
18
  ];
19
  }
notices/7_1_0.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace PixelYourSite;
4
+
5
+ if ( ! defined( 'ABSPATH' ) ) {
6
+ exit; // Exit if accessed directly.
7
+ }
8
+
9
+ function adminGetPromoNoticesContent() {
10
+ return [
11
+ 'woo' => [
12
+ [
13
+ 'disabled' => false,
14
+ 'from' => 0,
15
+ 'to' => 2,
16
+ 'content' => 'PixelYourSite: implement the Microsoft (<b>Bing</b>) UET Tag for WooCommerce with this <a href="https://www.pixelyoursite.com/bing-tag?utm_source=free-plugin-notice&utm_medium=plugin&utm_campaign=free-with-woo-notice" target="_blank">dedicated paid add-on</a>'
17
+ ],
18
+ ],
19
+ 'edd' => [
20
+ [
21
+ 'disabled' => false,
22
+ 'from' => 0,
23
+ 'to' => 2,
24
+ 'content' => 'PixelYourSite: implement the Microsoft (<b>Bing</b>) UET Tag for Easy Digital Downloads with this <a href="https://www.pixelyoursite.com/bing-tag?utm_source=free-plugin-notice&utm_medium=plugin&utm_campaign=free-with-edd-notice" target="_blank">dedicated paid add-on</a>'
25
+ ],
26
+ ],
27
+ 'no_woo_no_edd' => [
28
+ [
29
+ 'disabled' => false,
30
+ 'from' => 0,
31
+ 'to' => 2,
32
+ 'content' => 'PixelYourSite: implement the Microsoft (<b>Bing</b>) UET Tag with this <a href="https://www.pixelyoursite.com/bing-tag?utm_source=free-plugin-notice&utm_medium=plugin&utm_campaign=free-notice" target="_blank">dedicated paid add-on</a>'
33
+ ],
34
+ ],
35
+ ];
36
+ }
pixelyoursite.php CHANGED
@@ -4,8 +4,9 @@ if ( ! defined( 'ABSPATH' ) ) {
4
  exit; // Exit if accessed directly.
5
  }
6
 
7
- define( 'PYS_FREE_VERSION', '7.0.5' );
8
  define( 'PYS_FREE_PINTEREST_MIN_VERSION', '2.0.6' );
 
9
  define( 'PYS_FREE_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
10
  define( 'PYS_FREE_URL', untrailingslashit( plugin_dir_url( __FILE__ ) ) );
11
 
4
  exit; // Exit if accessed directly.
5
  }
6
 
7
+ define( 'PYS_FREE_VERSION', '7.1.0' );
8
  define( 'PYS_FREE_PINTEREST_MIN_VERSION', '2.0.6' );
9
+ define( 'PYS_FREE_BING_MIN_VERSION', '1.0.0' );
10
  define( 'PYS_FREE_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
11
  define( 'PYS_FREE_URL', untrailingslashit( plugin_dir_url( __FILE__ ) ) );
12
 
readme.txt CHANGED
@@ -4,11 +4,11 @@ Tags: Facebook Pixel, New Facebook Pixel, Facebook Conversion Pixel, Facebook Pi
4
  Requires at least: 3.0.1
5
  Requires PHP: 5.4
6
  Tested up to: 5.2
7
- Stable tag: 7.0.5
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
11
- Facebook Pixel, Google Analytics, plus ANY other script. WooCommerce and EDD with Facebook Dynamic Product Ads and Google Enhanced Ecommerce. Track any action with events. Pinterest Tag support via a free add-on.
12
 
13
  == Description ==
14
  **Manage your Facebook Pixel or Google Analytics code with a single plugin and add ANY other script (Head & Footer feature). The Pinterest Tag can be implemented via [free add-on](https://www.pixelyoursite.com/pinterest-tag).**
@@ -30,6 +30,7 @@ Google Analytics: one click install
30
  ANY script: add any other script with our flexible Head & Footer option
31
  The Pinterest Tag: via [free add-on](https://www.pixelyoursite.com/pinterest-tag)
32
  Google Ads (formerly AdWords) [pro feature](https://www.pixelyoursite.com/google-ads-tag)
 
33
 
34
  **Want to learn about your Facebook Pixel? We've put toghether [this help page](https://www.pixelyoursite.com/how-to-use-facebook-pixel)**
35
 
@@ -130,9 +131,9 @@ Dynamic Remarketing vertical custom dimensions (Retail or Custom vertical). Usef
130
 
131
  EVEN MORE HEAD & FOOTER OPTIONS:
132
 
133
- 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].
134
 
135
- For WooCommerce you’ll have some additional dynamic values: [order_number], [order_subtotal], [order_total], [currency].
136
 
137
  EVEN MORE WOOCOMMERCE FEATURES:
138
 
@@ -150,7 +151,7 @@ For more info on how the pro version can help you with your Facebook Pixel, [vis
150
 
151
  GOOGLE ADS TAG (FORMER ADWORDS):
152
 
153
- 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.
154
 
155
  Each Global event will be sent to Google Ads too, and you can configure Google Ads conversions.
156
 
@@ -334,7 +335,7 @@ There are a few you should consider:
334
 
335
  *It won’t work with LeadPages or any similar system because those pages are generated outside WordPress.
336
 
337
- *Some clients reported problems with Thrive landing pages. This happens because Thrive removes other plugins JS files.
338
 
339
  There's a strange solution: it appears that if you have the Yoast plugin installed the problem will go away.
340
 
@@ -344,7 +345,7 @@ There's a strange solution: it appears that if you have the Yoast plugin install
344
 
345
  == Screenshots ==
346
 
347
- 1. Add your Facebook pixel ID, Google Analytics ID, or Pinterest ID.
348
  2. You don’t have to copy/paste all the Facebook pixel code, but just the pixel ID. You can find it in your Ads Manager, under the Pixels link.
349
  3. You just need your Google Analytics Tracking ID, not the full code.
350
  4. You simply need your Pinterest Tag ID.
@@ -371,6 +372,10 @@ There's a strange solution: it appears that if you have the Yoast plugin install
371
 
372
  == Changelog ==
373
 
 
 
 
 
374
  = PixelYourSite 7.0.5 =
375
 
376
  * Fixing a potential problem with Pinterest PageVisit and Checkout events when the Facebook Pixel was deactivated (for the Pinterest add-on users only).
@@ -422,7 +427,7 @@ There's a strange solution: it appears that if you have the Yoast plugin install
422
 
423
  * The Pinterest Tag supports Enhanced Matching.
424
 
425
- * Google Analytics supports Enhanced Link Attribution and Anonymize IP.
426
 
427
  * The WooCommerce integrations tracks remove from cart as an event and has support for Google Enhanced Ecommerce tracking.
428
 
@@ -682,5 +687,3 @@ This is a major release, with a new design and new features:
682
  = 5.0 =
683
 
684
  Version 5.0 comes with full Easy Digital Downloads integrations plus the ability to give each WooCommerce and EDD event a global value.
685
-
686
-
4
  Requires at least: 3.0.1
5
  Requires PHP: 5.4
6
  Tested up to: 5.2
7
+ Stable tag: 7.1.0
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
11
+ Facebook Pixel, Google Analytics, plus ANY other script. WooCommerce and EDD with Facebook Dynamic Product Ads and Google Enhanced Ecommerce. Track any action with events. Pinterest Tag support via a free add-on. Dedicated paid Bing Tag add-on.
12
 
13
  == Description ==
14
  **Manage your Facebook Pixel or Google Analytics code with a single plugin and add ANY other script (Head & Footer feature). The Pinterest Tag can be implemented via [free add-on](https://www.pixelyoursite.com/pinterest-tag).**
30
  ANY script: add any other script with our flexible Head & Footer option
31
  The Pinterest Tag: via [free add-on](https://www.pixelyoursite.com/pinterest-tag)
32
  Google Ads (formerly AdWords) [pro feature](https://www.pixelyoursite.com/google-ads-tag)
33
+ Microsoft (BING) UET tag [paid add-on](https://www.pixelyoursite.com/bing-tag)
34
 
35
  **Want to learn about your Facebook Pixel? We've put toghether [this help page](https://www.pixelyoursite.com/how-to-use-facebook-pixel)**
36
 
131
 
132
  EVEN MORE HEAD & FOOTER OPTIONS:
133
 
134
+ 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].
135
 
136
+ For WooCommerce you’ll have some additional dynamic values: [order_number], [order_subtotal], [order_total], [currency].
137
 
138
  EVEN MORE WOOCOMMERCE FEATURES:
139
 
151
 
152
  GOOGLE ADS TAG (FORMER ADWORDS):
153
 
154
+ 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.
155
 
156
  Each Global event will be sent to Google Ads too, and you can configure Google Ads conversions.
157
 
335
 
336
  *It won’t work with LeadPages or any similar system because those pages are generated outside WordPress.
337
 
338
+ *Some clients reported problems with Thrive landing pages. This happens because Thrive removes other plugins JS files.
339
 
340
  There's a strange solution: it appears that if you have the Yoast plugin installed the problem will go away.
341
 
345
 
346
  == Screenshots ==
347
 
348
+ 1. Add your Facebook pixel ID, Google Analytics ID, or Pinterest ID.
349
  2. You don’t have to copy/paste all the Facebook pixel code, but just the pixel ID. You can find it in your Ads Manager, under the Pixels link.
350
  3. You just need your Google Analytics Tracking ID, not the full code.
351
  4. You simply need your Pinterest Tag ID.
372
 
373
  == Changelog ==
374
 
375
+ = PixelYourSite 7.1.0 =
376
+
377
+ * This update ads support for our paid Microsoft (BING) UET Tag add-on.
378
+
379
  = PixelYourSite 7.0.5 =
380
 
381
  * Fixing a potential problem with Pinterest PageVisit and Checkout events when the Facebook Pixel was deactivated (for the Pinterest add-on users only).
427
 
428
  * The Pinterest Tag supports Enhanced Matching.
429
 
430
+ * Google Analytics supports Enhanced Link Attribution and Anonymize IP.
431
 
432
  * The WooCommerce integrations tracks remove from cart as an event and has support for Google Enhanced Ecommerce tracking.
433
 
687
  = 5.0 =
688
 
689
  Version 5.0 comes with full Easy Digital Downloads integrations plus the ability to give each WooCommerce and EDD event a global value.