Enhanced Ecommerce Google Analytics Plugin for WooCommerce - Version 2.0.0

Version Description

  • 07/03/2018 =
    • New Implementation with Global Site Tag (gtag.js)
    • gtag.js supported
    • Minor Bug Fixes & Optimization.
Download this release

Release Info

Developer Tatvic
Plugin Icon 128x128 Enhanced Ecommerce Google Analytics Plugin for WooCommerce
Version 2.0.0
Comparing to
See all releases

Code changes from version 1.2.2 to 2.0.0

includes/class-wc-enhanced-ecommerce-google-analytics-integration.php CHANGED
@@ -18,7 +18,7 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
18
  * @return void
19
  */
20
  //set plugin version
21
- public $tvc_eeVer = '1.2.2';
22
  public function __construct() {
23
 
24
  //Set Global Variables
@@ -39,8 +39,8 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
39
  //load all the settings
40
  $this->init_settings();
41
 
42
- // Define user set variables -- Always use short names
43
- $this->tvc_aga = $this->get_option("tvc_aga");
44
  $this->ga_id = $this->get_option("ga_id");
45
  $this->ga_Dname = $this->get_option("ga_Dname");
46
  $this->ga_LC = get_woocommerce_currency(); //Local Currency yuppi! Got from Back end
@@ -54,8 +54,8 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
54
  $this->ga_imTh = $this->get_option("ga_imTh") == "" ? 6 : $this->get_option("ga_imTh");
55
 
56
 
57
- //Save Changes action for admin settings
58
- add_action("woocommerce_update_options_integration_" . $this->id, array($this, "process_admin_options"));
59
 
60
  // API Call to LS with e-mail
61
  // Tracking code
@@ -154,8 +154,7 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
154
  if(t_display_chk){
155
  jQuery("#woocommerce_enhanced_ecommerce_google_analytics_ga_DF").removeAttr("checked");
156
  } }
157
- });
158
-
159
  //Pugin Promotion
160
  jQuery("form#mainform").after("<a href=https://codecanyon.net/item/actionable-google-analytics-for-woocommerce/9899552?ref=tatvic target=_blank><img src='.plugins_url( '/aga_premium.png' , __FILE__ ).' title=Actionable Google Analytics Plugin by Tatvic alt=Actionable Google Analytics Plugin by Tatvic></a>");
161
  </script>';
@@ -216,24 +215,15 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
216
  $set_domain_name = "auto";
217
  }
218
 
219
- //add display features
220
- if ($this->ga_DF) {
221
- $ga_display_feature_code = 'ga("require", "displayfeatures");';
222
- } else {
223
- $ga_display_feature_code = "";
224
- }
225
-
226
- $code = '
227
- (function(i,s,o,g,r,a,m){i["GoogleAnalyticsObject"]=r;i[r]=i[r]||function(){
228
- (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
229
- m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
230
- })(window,document,"script","//www.google-analytics.com/analytics.js","ga");
231
- ga("create", "' . esc_js($tracking_id) . '", "' . $set_domain_name . '");
232
- ' . $ga_display_feature_code . '
233
-
234
- ga("send", "pageview");';
235
-
236
- echo "<script>" . $code . "</script>";
237
  }
238
 
239
  /**
@@ -262,20 +252,13 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
262
  ),
263
  "ga_ST" => array(
264
  "title" => __("Tracking code", "woocommerce"),
265
- "label" => __("Add Universal Analytics Tracking Code (Optional)", "woocommerce"),
266
- "description" => sprintf(__("This feature adds Universal Analytics Tracking Code to your Store. You don't need to enable this if using a 3rd party analytics plugin.", "woocommerce")),
267
  "type" => "checkbox",
268
  "checkboxgroup" => "start",
269
  "desc_tip" => true,
270
  "default" => get_option("ga_ST") ? get_option("ga_ST") : "no" // Backwards compat
271
  ),
272
- "ga_DF" => array(
273
- "label" => __("Add Display Advertising Feature Code (Optional)", "woocommerce"),
274
- "type" => "checkbox",
275
- "checkboxgroup" => "",
276
- "description" => sprintf(__("This feature enables remarketing with Google Analytics & Demographic reports. Adding the code is the first step in a 3 step process. <a href='https://support.google.com/analytics/answer/2819948?hl=en' target='_blank'>Learn More</a><br/>This feature can only be enabled if you have enabled UA Tracking from our Plugin. If not, you can still manually add the display advertising code by following the instructions from this <a href='https://developers.google.com/analytics/devguides/collection/analyticsjs/display-features' target='_blank'>link</a>", "woocommerce")),
277
- "default" => get_option("ga_DF") ? get_option("ga_DF") : "no" // Backwards compat
278
- ),
279
  "ga_eeT" => array(
280
  "label" => __("Add Enhanced Ecommerce Tracking Code", "woocommerce"),
281
  "type" => "checkbox",
@@ -297,8 +280,8 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
297
  "description" => sprintf(__("This feature sets Impression threshold for category page. It sends hit after these many numbers of products impressions", "woocommerce")),
298
  "type" => "number",
299
  "desc_tip" => true,
300
- "css"=>"width:112px !important;",
301
- 'custom_attributes' => array(
302
  'min' => "1",
303
  ),
304
  "default" => get_option("ga_imTh") ? get_option("ga_imTh") : "6" // Backwards compat
@@ -347,13 +330,6 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
347
  $set_domain_name = "auto";
348
  }
349
 
350
- //add display features
351
- if ($this->ga_DF) {
352
- $ga_display_feature_code = 'ga("require", "displayfeatures");';
353
- } else {
354
- $ga_display_feature_code = "";
355
- }
356
-
357
  // Order items
358
  if ($order->get_items()) {
359
  foreach ($order->get_items() as $item) {
@@ -382,7 +358,7 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
382
  $orderpage_prod_Array[get_permalink($_product->id)]=array(
383
  "tvc_id" => esc_html($_product->id),
384
  "tvc_i" => esc_js($_product->get_sku() ? $_product->get_sku() : $_product->id),
385
- "tvc_n" => esc_js($item["name"]),
386
  "tvc_p" => esc_js($order->get_item_total($item)),
387
  "tvc_c" => $categories,
388
  "tvc_q"=>esc_js($item["qty"])
@@ -391,19 +367,17 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
391
  $orderpage_prod_Array[get_permalink($_product->get_id())]=array(
392
  "tvc_id" => esc_html($_product->get_id()),
393
  "tvc_i" => esc_js($_product->get_sku() ? $_product->get_sku() : $_product->get_id()),
394
- "tvc_n" => $tvc_prnm,
395
  "tvc_p" => esc_js($order->get_item_total($item)),
396
  "tvc_c" => $categories,
397
  "tvc_q"=>esc_js($item["qty"])
398
  );
399
- }
400
-
401
  }
402
  //make json for prod meta data on order page
403
  $this->wc_version_compare("tvc_oc=" . json_encode($orderpage_prod_Array) . ";");
404
  }
405
 
406
-
407
  //get shipping cost based on version >2.1 get_total_shipping() < get_shipping
408
  if (version_compare($woocommerce->version, "2.1", ">=")) {
409
  $tvc_sc = $order->get_total_shipping();
@@ -423,28 +397,31 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
423
  $this->wc_version_compare("tvc_td=" . json_encode($orderpage_trans_Array) . ";");
424
 
425
  $code ='
426
- ga("require", "ec", "ec.js");
427
  //set local currencies
428
- ga("set", "&cu", tvc_lc);
429
  for(var t_item in tvc_oc){
430
- ga("ec:addProduct", {
431
  "id": tvc_oc[t_item].tvc_i,
432
  "name": tvc_oc[t_item].tvc_n,
433
  "category": tvc_oc[t_item].tvc_c,
434
  "price": tvc_oc[t_item].tvc_p,
435
  "quantity": tvc_oc[t_item].tvc_q,
436
- });
 
437
  }
438
- ga("ec:setAction","purchase", {
439
- "id": tvc_td.id,
440
  "affiliation": tvc_td.affiliation,
441
- "revenue": tvc_td.revenue,
442
- "tax": tvc_td.tax,
443
  "shipping": tvc_td.shipping,
444
- "coupon": tvc_td.coupon
 
 
 
 
445
  });
446
-
447
- ga("send", "event", "Enhanced-Ecommerce","load", "order_confirmation", {"nonInteraction": 1});
448
  ';
449
 
450
  //check woocommerce version
@@ -480,20 +457,25 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
480
  $categories = rtrim($categories, ",");
481
 
482
  $code = '
483
- ga("require", "ec", "ec.js");
484
- ga("set", "&cu", tvc_lc);
 
485
  jQuery("[class*=single_add_to_cart_button]").click(function() {
486
 
487
- // Enhanced E-commerce Add to cart clicks
488
- ga("ec:addProduct", {
489
- "id" : tvc_po.tvc_i,
490
- "name": tvc_po.tvc_n,
491
- "category" :tvc_po.tvc_c,
492
- "price": tvc_po.tvc_p,
493
- "quantity" :jQuery(this).parent().find("input[name=quantity]").val()
494
- });
495
- ga("ec:setAction", "add");
496
- ga("send", "event", "Enhanced-Ecommerce","click", "add_to_cart_click", {"nonInteraction": 1});
 
 
 
 
497
  });
498
  ';
499
  //check woocommerce version
@@ -552,14 +534,18 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
552
  //prod page detail view json
553
  $this->wc_version_compare("tvc_po=" . json_encode($prodpage_detail_json) . ";");
554
  $code = '
555
- ga("require", "ec", "ec.js");
556
- ga("ec:addProduct", {
557
- "id": tvc_po.tvc_i, // Product details are provided in an impressionFieldObject.
558
- "name": tvc_po.tvc_n,
559
- "category":tvc_po.tvc_c,
560
- });
561
- ga("ec:setAction", "detail");
562
- ga("send", "event", "Enhanced-Ecommerce", "load","product_impression_pp", {"nonInteraction": 1});
 
 
 
 
563
  ';
564
  //check woocommerce version
565
  if(is_product()){
@@ -804,8 +790,9 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
804
  $this->wc_version_compare("catpage_json_ATC_link=" . json_encode($catpage_json_ATC_link) . ";");
805
 
806
  $hmpg_impressions_jQ = '
807
- ga("require", "ec", "ec.js");
808
- ga("set", "&cu", tvc_lc);
 
809
  function t_products_impre_clicks(t_json_name,t_action){
810
  t_send_threshold=0;
811
  t_prod_pos=0;
@@ -815,25 +802,26 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
815
  for(var t_item in t_json_name) {
816
  t_send_threshold++;
817
  t_prod_pos++;
818
-
819
- ga("ec:addImpression", {
820
- "id": t_json_name[t_item].tvc_i,
821
- "name": t_json_name[t_item].tvc_n,
822
- "category": t_json_name[t_item].tvc_c,
823
- "price": t_json_name[t_item].tvc_p,
824
- "position": t_json_name[t_item].tvc_po,
825
- });
826
 
827
  if(t_json_length > ' . esc_js($impression_threshold) .' ){
828
- if((t_send_threshold%' . esc_js($impression_threshold) . ')==0){
829
  t_json_length=t_json_length-' . esc_js($impression_threshold) . ';
830
- ga("send", "event", "Enhanced-Ecommerce","load","product_impression_"+t_action , {"nonInteraction": 1});
 
831
  }
832
  }else{
833
 
834
  t_json_length--;
835
  if(t_json_length==0){
836
- ga("send", "event", "Enhanced-Ecommerce","load", "product_impression_"+t_action, {"nonInteraction": 1});
 
837
  }
838
  }
839
  }
@@ -843,14 +831,21 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
843
  function prod_exists_in_JSON(t_url,t_json_name,t_action){
844
  if(t_json_name.hasOwnProperty(t_url)){
845
  t_call_fired=true;
846
- ga("ec:addProduct", {
847
- "id": t_json_name[t_url].tvc_i,
848
- "name": t_json_name[t_url].tvc_n,
849
- "category": t_json_name[t_url].tvc_c,
850
- "price": t_json_name[t_url].tvc_p,
851
- "position": t_json_name[t_url].tvc_po,
852
- });
853
- ga("send", "event", "Enhanced-Ecommerce","click", "product_click_"+t_action, {"nonInteraction": 1});
 
 
 
 
 
 
 
854
  }else{
855
  t_call_fired=false;
856
  }
@@ -859,21 +854,25 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
859
  function prod_ATC_link_exists(t_url,t_ATC_json_name,t_prod_data_json,t_qty){
860
  t_prod_url_key=t_ATC_json_name[t_url]["ATC-link"];
861
 
862
- if(t_prod_data_json.hasOwnProperty(t_prod_url_key)){
863
  t_call_fired=true;
864
- // Enhanced E-commerce Add to cart clicks
865
- ga("ec:addProduct", {
866
- "id": t_prod_data_json[t_prod_url_key].tvc_i,
867
- "name": t_prod_data_json[t_prod_url_key].tvc_n,
868
- "category": t_prod_data_json[t_prod_url_key].tvc_c,
869
- "price": t_prod_data_json[t_prod_url_key].tvc_p,
870
- "quantity" : t_qty
871
- });
872
- ga("ec:setAction", "add");
873
- ga("send", "event", "Enhanced-Ecommerce","click", "add_to_cart_click",{"nonInteraction": 1});
874
- }else{
 
 
 
 
875
  t_call_fired=false;
876
- }
877
  return t_call_fired;
878
 
879
  }
@@ -991,8 +990,7 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
991
  prod_ATC_link_exists(t_url,catpage_json_ATC_link,tvc_pgc,t_qty);
992
  });
993
  ';
994
- }
995
-
996
  //on home page, product page , category page
997
  if (is_home() || is_front_page() || is_product() || is_product_category() || is_search() || is_shop()){
998
  $this->wc_version_compare($hmpg_impressions_jQ);
@@ -1037,7 +1035,7 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
1037
  $cartpage_prod_array_main[$cart_remove_link] =array(
1038
  "tvc_id" => esc_html($prod_meta->id),
1039
  "tvc_i" => esc_html($prod_meta->get_sku() ? $prod_meta->get_sku() : $prod_meta->id),
1040
- "tvc_n" => esc_html($prod_meta->get_title()),
1041
  "tvc_p" => esc_html($prod_meta->get_price()),
1042
  "tvc_c" => esc_html($categories),
1043
  "tvc_q"=>$woocommerce->cart->cart_contents[$key]["quantity"]
@@ -1046,7 +1044,7 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
1046
  $cartpage_prod_array_main[$cart_remove_link] =array(
1047
  "tvc_id" => esc_html($prod_meta->get_id()),
1048
  "tvc_i" => esc_html($prod_meta->get_sku() ? $prod_meta->get_sku() : $prod_meta->get_id()),
1049
- "tvc_n" => esc_html($prod_meta->get_title()),
1050
  "tvc_p" => esc_html($prod_meta->get_price()),
1051
  "tvc_c" => esc_html($categories),
1052
  "tvc_q"=>$woocommerce->cart->cart_contents[$key]["quantity"]
@@ -1058,20 +1056,22 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
1058
  $this->wc_version_compare("tvc_cc=" . json_encode($cartpage_prod_array_main) . ";");
1059
 
1060
  $code = '
1061
- ga("require", "ec", "ec.js");
1062
- ga("set", "&cu", tvc_lc);
1063
  $("a[href*=\"?remove_item\"]").click(function(){
1064
  t_url=jQuery(this).attr("href");
1065
-
1066
- ga("ec:addProduct", {
1067
- "id":tvc_cc[t_url].tvc_i,
1068
- "name": tvc_cc[t_url].tvc_n,
1069
- "category":tvc_cc[t_url].tvc_c,
1070
- "price": tvc_cc[t_url].tvc_p,
1071
- "quantity": tvc_cc[t_url].tvc_q
1072
- });
1073
- ga("ec:setAction", "remove");
1074
- ga("send", "event", "Enhanced-Ecommerce", "click", "remove_from_cart_click",{"nonInteraction": 1});
 
 
1075
  });
1076
  ';
1077
  //check woocommerce version
@@ -1091,10 +1091,10 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
1091
  //call fn to make json
1092
  $this->get_ordered_items();
1093
  $code= '
1094
- ga("require", "ec", "ec.js");
1095
- ga("set", "&cu", tvc_lc);
1096
  for(var t_item in tvc_ch){
1097
- ga("ec:addProduct", {
1098
  "id": tvc_ch[t_item].tvc_i,
1099
  "name": tvc_ch[t_item].tvc_n,
1100
  "category": tvc_ch[t_item].tvc_c,
@@ -1103,8 +1103,9 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
1103
  });
1104
  }';
1105
 
1106
- $code_step_1 = $code . 'ga("ec:setAction","checkout",{"step": 1});';
1107
- $code_step_1 .= 'ga("send", "event", "Enhanced-Ecommerce","load","checkout_step_1",{"nonInteraction": 1});';
 
1108
 
1109
  //check woocommerce version and add code
1110
  $this->wc_version_compare($code_step_1);
@@ -1121,9 +1122,10 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
1121
  return;
1122
  }
1123
  $code= '
1124
-
 
1125
  for(var t_item in tvc_ch){
1126
- ga("ec:addProduct", {
1127
  "id": tvc_ch[t_item].tvc_i,
1128
  "name": tvc_ch[t_item].tvc_n,
1129
  "category": tvc_ch[t_item].tvc_c,
@@ -1132,8 +1134,8 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
1132
  });
1133
  }';
1134
 
1135
- $code_step_2 = $code . 'ga("ec:setAction","checkout",{"step": 2});';
1136
- $code_step_2 .= 'ga("send", "event", "Enhanced-Ecommerce","load","checkout_step_2",{"nonInteraction": 1});';
1137
 
1138
  //if logged in and first name is filled - Guest Check out
1139
  if (is_user_logged_in()) {
@@ -1157,8 +1159,9 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
1157
  return;
1158
  }
1159
  $code= '
 
1160
  for(var t_item in tvc_ch){
1161
- ga("ec:addProduct", {
1162
  "id": tvc_ch[t_item].tvc_i,
1163
  "name": tvc_ch[t_item].tvc_n,
1164
  "category": tvc_ch[t_item].tvc_c,
@@ -1170,8 +1173,8 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
1170
  //check if guest check out is enabled or not
1171
  $step_2_on_proceed_to_pay = (!is_user_logged_in() && !$this->ga_gCkout ) || (!is_user_logged_in() && $this->ga_gCkout && $this->ga_gUser);
1172
 
1173
- $code_step_3 = $code . 'ga("ec:setAction","checkout",{"step": 3});';
1174
- $code_step_3 .= 'ga("send", "event", "Enhanced-Ecommerce","load", "checkout_step_3",{"nonInteraction": 1});';
1175
 
1176
  $inline_js = 't_track_clk=0; jQuery(document).on("click","#place_order",function(e){ if(t_track_clk===0){';
1177
  if ($step_2_on_proceed_to_pay) {
@@ -1216,7 +1219,7 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
1216
  $chkout_json[get_permalink($p->id)] = array(
1217
  "tvc_id" => esc_html($p->id),
1218
  "tvc_i" => esc_js($p->get_sku() ? $p->get_sku() : $p->id),
1219
- "tvc_n" => esc_js($p->get_title()),
1220
  "tvc_p" => esc_js($p->get_price()),
1221
  "tvc_c" => $categories,
1222
  "tvc_q" => esc_js($item["quantity"]),
@@ -1226,14 +1229,13 @@ class WC_Enhanced_Ecommerce_Google_Analytics extends WC_Integration {
1226
  $chkout_json[get_permalink($p->get_id())] = array(
1227
  "tvc_id" => esc_html($p->get_id()),
1228
  "tvc_i" => esc_js($p->get_sku() ? $p->get_sku() : $p->get_id()),
1229
- "tvc_n" => esc_js($p->get_title()),
1230
  "tvc_p" => esc_js($p->get_price()),
1231
  "tvc_c" => $categories,
1232
  "tvc_q" => esc_js($item["quantity"]),
1233
  "isfeatured"=>$p->is_featured()
1234
  );
1235
- }
1236
-
1237
  }
1238
  //return $code;
1239
  //make product data json on check out page
18
  * @return void
19
  */
20
  //set plugin version
21
+ public $tvc_eeVer = '2.0.0';
22
  public function __construct() {
23
 
24
  //Set Global Variables
39
  //load all the settings
40
  $this->init_settings();
41
 
42
+ // Define user set variables -- Always use short names
43
+ $this->tvc_aga = $this->get_option("tvc_aga");
44
  $this->ga_id = $this->get_option("ga_id");
45
  $this->ga_Dname = $this->get_option("ga_Dname");
46
  $this->ga_LC = get_woocommerce_currency(); //Local Currency yuppi! Got from Back end
54
  $this->ga_imTh = $this->get_option("ga_imTh") == "" ? 6 : $this->get_option("ga_imTh");
55
 
56
 
57
+ //Save Changes action for admin settings
58
+ add_action("woocommerce_update_options_integration_" . $this->id, array($this, "process_admin_options"));
59
 
60
  // API Call to LS with e-mail
61
  // Tracking code
154
  if(t_display_chk){
155
  jQuery("#woocommerce_enhanced_ecommerce_google_analytics_ga_DF").removeAttr("checked");
156
  } }
157
+ });
 
158
  //Pugin Promotion
159
  jQuery("form#mainform").after("<a href=https://codecanyon.net/item/actionable-google-analytics-for-woocommerce/9899552?ref=tatvic target=_blank><img src='.plugins_url( '/aga_premium.png' , __FILE__ ).' title=Actionable Google Analytics Plugin by Tatvic alt=Actionable Google Analytics Plugin by Tatvic></a>");
160
  </script>';
215
  $set_domain_name = "auto";
216
  }
217
 
218
+ $code = '<script async src="https://www.googletagmanager.com/gtag/js?id='.esc_js($tracking_id).'"></script>
219
+ <script>
220
+ window.dataLayer = window.dataLayer || [];
221
+ function gtag(){dataLayer.push(arguments);}
222
+ gtag("js", new Date());
223
+ gtag("config", "'.esc_js($tracking_id).'",{"cookie_domain":"'.$set_domain_name.'"});
224
+ </script>
225
+ ';
226
+ echo $code;
 
 
 
 
 
 
 
 
 
227
  }
228
 
229
  /**
252
  ),
253
  "ga_ST" => array(
254
  "title" => __("Tracking code", "woocommerce"),
255
+ "label" => __("Add Global Site Tracking Code 'gtag.js' (Optional)", "woocommerce"),
256
+ "description" => sprintf(__("This feature adds New gtag.js Tracking Code to your Store. You don't need to enable this if using a 3rd party analytics plugin.", "woocommerce")),
257
  "type" => "checkbox",
258
  "checkboxgroup" => "start",
259
  "desc_tip" => true,
260
  "default" => get_option("ga_ST") ? get_option("ga_ST") : "no" // Backwards compat
261
  ),
 
 
 
 
 
 
 
262
  "ga_eeT" => array(
263
  "label" => __("Add Enhanced Ecommerce Tracking Code", "woocommerce"),
264
  "type" => "checkbox",
280
  "description" => sprintf(__("This feature sets Impression threshold for category page. It sends hit after these many numbers of products impressions", "woocommerce")),
281
  "type" => "number",
282
  "desc_tip" => true,
283
+ "css"=>"width:112px !important;",
284
+ 'custom_attributes' => array(
285
  'min' => "1",
286
  ),
287
  "default" => get_option("ga_imTh") ? get_option("ga_imTh") : "6" // Backwards compat
330
  $set_domain_name = "auto";
331
  }
332
 
 
 
 
 
 
 
 
333
  // Order items
334
  if ($order->get_items()) {
335
  foreach ($order->get_items() as $item) {
358
  $orderpage_prod_Array[get_permalink($_product->id)]=array(
359
  "tvc_id" => esc_html($_product->id),
360
  "tvc_i" => esc_js($_product->get_sku() ? $_product->get_sku() : $_product->id),
361
+ "tvc_n" => html_entity_decode($item["name"]),
362
  "tvc_p" => esc_js($order->get_item_total($item)),
363
  "tvc_c" => $categories,
364
  "tvc_q"=>esc_js($item["qty"])
367
  $orderpage_prod_Array[get_permalink($_product->get_id())]=array(
368
  "tvc_id" => esc_html($_product->get_id()),
369
  "tvc_i" => esc_js($_product->get_sku() ? $_product->get_sku() : $_product->get_id()),
370
+ "tvc_n" => html_entity_decode($tvc_prnm),
371
  "tvc_p" => esc_js($order->get_item_total($item)),
372
  "tvc_c" => $categories,
373
  "tvc_q"=>esc_js($item["qty"])
374
  );
375
+ }
 
376
  }
377
  //make json for prod meta data on order page
378
  $this->wc_version_compare("tvc_oc=" . json_encode($orderpage_prod_Array) . ";");
379
  }
380
 
 
381
  //get shipping cost based on version >2.1 get_total_shipping() < get_shipping
382
  if (version_compare($woocommerce->version, "2.1", ">=")) {
383
  $tvc_sc = $order->get_total_shipping();
397
  $this->wc_version_compare("tvc_td=" . json_encode($orderpage_trans_Array) . ";");
398
 
399
  $code ='
400
+ var items = [];
401
  //set local currencies
402
+ gtag("set", {"currency": tvc_lc});
403
  for(var t_item in tvc_oc){
404
+ items.push({
405
  "id": tvc_oc[t_item].tvc_i,
406
  "name": tvc_oc[t_item].tvc_n,
407
  "category": tvc_oc[t_item].tvc_c,
408
  "price": tvc_oc[t_item].tvc_p,
409
  "quantity": tvc_oc[t_item].tvc_q,
410
+ });
411
+
412
  }
413
+ gtag("event", "purchase", {
414
+ "transaction_id":tvc_td.id,
415
  "affiliation": tvc_td.affiliation,
416
+ "value":tvc_td.revenue,
417
+ "tax": tvc_td.tax,
418
  "shipping": tvc_td.shipping,
419
+ "coupon": tvc_td.coupon,
420
+ "event_category": "Enhanced-Ecommerce",
421
+ "event_label":"order_confirmation",
422
+ "non_interaction": true,
423
+ "items":items
424
  });
 
 
425
  ';
426
 
427
  //check woocommerce version
457
  $categories = rtrim($categories, ",");
458
 
459
  $code = '
460
+ var items = [];
461
+ //set local currencies
462
+ gtag("set", {"currency": tvc_lc});
463
  jQuery("[class*=single_add_to_cart_button]").click(function() {
464
 
465
+ // Enhanced E-commerce Add to cart clicks
466
+ gtag("event", "add_to_cart", {
467
+ "event_category":"Enhanced-Ecommerce",
468
+ "event_label":"add_to_cart_click",
469
+ "non_interaction": true,
470
+ "items": [{
471
+ "id" : tvc_po.tvc_i,
472
+ "name": tvc_po.tvc_n,
473
+ "category" :tvc_po.tvc_c,
474
+ "price": tvc_po.tvc_p,
475
+ "quantity" :jQuery(this).parent().find("input[name=quantity]").val()
476
+ }]
477
+ });
478
+
479
  });
480
  ';
481
  //check woocommerce version
534
  //prod page detail view json
535
  $this->wc_version_compare("tvc_po=" . json_encode($prodpage_detail_json) . ";");
536
  $code = '
537
+ gtag("event", "view_item", {
538
+ "event_category":"Enhanced-Ecommerce",
539
+ "event_label":"product_impression_pp",
540
+ "items": [
541
+ {
542
+ "id": tvc_po.tvc_i,// Product details are provided in an impressionFieldObject.
543
+ "name": tvc_po.tvc_n,
544
+ "category":tvc_po.tvc_c,
545
+ }
546
+ ],
547
+ "non_interaction": true
548
+ })
549
  ';
550
  //check woocommerce version
551
  if(is_product()){
790
  $this->wc_version_compare("catpage_json_ATC_link=" . json_encode($catpage_json_ATC_link) . ";");
791
 
792
  $hmpg_impressions_jQ = '
793
+ var items = [];
794
+ //set local currencies
795
+ gtag("set", {"currency": tvc_lc});
796
  function t_products_impre_clicks(t_json_name,t_action){
797
  t_send_threshold=0;
798
  t_prod_pos=0;
802
  for(var t_item in t_json_name) {
803
  t_send_threshold++;
804
  t_prod_pos++;
805
+ items.push({
806
+ "id": t_json_name[t_item].tvc_i,
807
+ "name": t_json_name[t_item].tvc_n,
808
+ "category": t_json_name[t_item].tvc_c,
809
+ "price": t_json_name[t_item].tvc_p,
810
+ "list_position": t_json_name[t_item].tvc_po,
811
+ });
 
812
 
813
  if(t_json_length > ' . esc_js($impression_threshold) .' ){
814
+ if((t_send_threshold%' . esc_js($impression_threshold) . ')==0){
815
  t_json_length=t_json_length-' . esc_js($impression_threshold) . ';
816
+ gtag("event", "view_item_list", { "event_category":"Enhanced-Ecommerce",
817
+ "event_label":"product_impression_"+t_action, "items":items,"non_interaction": true});
818
  }
819
  }else{
820
 
821
  t_json_length--;
822
  if(t_json_length==0){
823
+ gtag("event", "view_item_list", { "event_category":"Enhanced-Ecommerce",
824
+ "event_label":"product_impression_"+t_action, "items":items,"non_interaction": true});
825
  }
826
  }
827
  }
831
  function prod_exists_in_JSON(t_url,t_json_name,t_action){
832
  if(t_json_name.hasOwnProperty(t_url)){
833
  t_call_fired=true;
834
+ gtag("event", "select_content", {
835
+ "event_category":"Enhanced-Ecommerce",
836
+ "event_label":"product_click_"+t_action,
837
+ "content_type": "product",
838
+ "items": [
839
+ {
840
+ "id":t_json_name[t_url].tvc_i,
841
+ "name": t_json_name[t_url].tvc_n,
842
+ "category":t_json_name[t_url].tvc_c,
843
+ "price": t_json_name[t_url].tvc_p,
844
+ "list_position": t_json_name[t_url].tvc_po,
845
+ }
846
+ ],
847
+ "non_interaction": true
848
+ });
849
  }else{
850
  t_call_fired=false;
851
  }
854
  function prod_ATC_link_exists(t_url,t_ATC_json_name,t_prod_data_json,t_qty){
855
  t_prod_url_key=t_ATC_json_name[t_url]["ATC-link"];
856
 
857
+ if(t_prod_data_json.hasOwnProperty(t_prod_url_key)){
858
  t_call_fired=true;
859
+ // Enhanced E-commerce Add to cart clicks
860
+ gtag("event", "add_to_cart", {
861
+ "event_category":"Enhanced-Ecommerce",
862
+ "event_label":"add_to_cart_click",
863
+ "non_interaction": true,
864
+ "items": [{
865
+ "id" : t_prod_data_json[t_prod_url_key].tvc_i,
866
+ "name":t_prod_data_json[t_prod_url_key].tvc_i,
867
+ "category" : t_prod_data_json[t_prod_url_key].tvc_c,
868
+ "price": t_prod_data_json[t_prod_url_key].tvc_p,
869
+ "quantity" :t_qty
870
+ }]
871
+ });
872
+
873
+ }else{
874
  t_call_fired=false;
875
+ }
876
  return t_call_fired;
877
 
878
  }
990
  prod_ATC_link_exists(t_url,catpage_json_ATC_link,tvc_pgc,t_qty);
991
  });
992
  ';
993
+ }
 
994
  //on home page, product page , category page
995
  if (is_home() || is_front_page() || is_product() || is_product_category() || is_search() || is_shop()){
996
  $this->wc_version_compare($hmpg_impressions_jQ);
1035
  $cartpage_prod_array_main[$cart_remove_link] =array(
1036
  "tvc_id" => esc_html($prod_meta->id),
1037
  "tvc_i" => esc_html($prod_meta->get_sku() ? $prod_meta->get_sku() : $prod_meta->id),
1038
+ "tvc_n" => html_entity_decode($prod_meta->get_title()),
1039
  "tvc_p" => esc_html($prod_meta->get_price()),
1040
  "tvc_c" => esc_html($categories),
1041
  "tvc_q"=>$woocommerce->cart->cart_contents[$key]["quantity"]
1044
  $cartpage_prod_array_main[$cart_remove_link] =array(
1045
  "tvc_id" => esc_html($prod_meta->get_id()),
1046
  "tvc_i" => esc_html($prod_meta->get_sku() ? $prod_meta->get_sku() : $prod_meta->get_id()),
1047
+ "tvc_n" => html_entity_decode($prod_meta->get_title()),
1048
  "tvc_p" => esc_html($prod_meta->get_price()),
1049
  "tvc_c" => esc_html($categories),
1050
  "tvc_q"=>$woocommerce->cart->cart_contents[$key]["quantity"]
1056
  $this->wc_version_compare("tvc_cc=" . json_encode($cartpage_prod_array_main) . ";");
1057
 
1058
  $code = '
1059
+ //set local currencies
1060
+ gtag("set", {"currency": tvc_lc});
1061
  $("a[href*=\"?remove_item\"]").click(function(){
1062
  t_url=jQuery(this).attr("href");
1063
+ gtag("event", "remove_from_cart", {
1064
+ "event_category":"Enhanced-Ecommerce",
1065
+ "event_label":"remove_from_cart_click",
1066
+ "items": [{
1067
+ "id":tvc_cc[t_url].tvc_i,
1068
+ "name": tvc_cc[t_url].tvc_n,
1069
+ "category":tvc_cc[t_url].tvc_c,
1070
+ "price": tvc_cc[t_url].tvc_p,
1071
+ "quantity": tvc_cc[t_url].tvc_q
1072
+ }],
1073
+ "non_interaction": true
1074
+ });
1075
  });
1076
  ';
1077
  //check woocommerce version
1091
  //call fn to make json
1092
  $this->get_ordered_items();
1093
  $code= '
1094
+ var items = [];
1095
+ gtag("set", {"currency": tvc_lc});
1096
  for(var t_item in tvc_ch){
1097
+ items.push({
1098
  "id": tvc_ch[t_item].tvc_i,
1099
  "name": tvc_ch[t_item].tvc_n,
1100
  "category": tvc_ch[t_item].tvc_c,
1103
  });
1104
  }';
1105
 
1106
+ $code_step_1 = $code . 'gtag("event", "begin_checkout", {"event_category":"Enhanced-Ecommerce",
1107
+ "event_label":"checkout_step_1","items":items,"non_interaction": true });';
1108
+ //$code_step_1 .= 'gtag("event", "set_checkout_option", {"checkout_step": 1})';
1109
 
1110
  //check woocommerce version and add code
1111
  $this->wc_version_compare($code_step_1);
1122
  return;
1123
  }
1124
  $code= '
1125
+ var items = [];
1126
+ gtag("set", {"currency": tvc_lc});
1127
  for(var t_item in tvc_ch){
1128
+ items.push({
1129
  "id": tvc_ch[t_item].tvc_i,
1130
  "name": tvc_ch[t_item].tvc_n,
1131
  "category": tvc_ch[t_item].tvc_c,
1134
  });
1135
  }';
1136
 
1137
+ $code_step_2 = $code . 'gtag("event", "checkout_progress", {"checkout_step": 2,"event_category":"Enhanced-Ecommerce",
1138
+ "event_label":"checkout_step_2","items":items,"non_interaction": true });';
1139
 
1140
  //if logged in and first name is filled - Guest Check out
1141
  if (is_user_logged_in()) {
1159
  return;
1160
  }
1161
  $code= '
1162
+ var items = [];
1163
  for(var t_item in tvc_ch){
1164
+ items.push({
1165
  "id": tvc_ch[t_item].tvc_i,
1166
  "name": tvc_ch[t_item].tvc_n,
1167
  "category": tvc_ch[t_item].tvc_c,
1173
  //check if guest check out is enabled or not
1174
  $step_2_on_proceed_to_pay = (!is_user_logged_in() && !$this->ga_gCkout ) || (!is_user_logged_in() && $this->ga_gCkout && $this->ga_gUser);
1175
 
1176
+ $code_step_3 = $code . 'gtag("event", "checkout_progress", {"checkout_step": 3,"event_category":"Enhanced-Ecommerce",
1177
+ "event_label":"checkout_step_3","items":items,"non_interaction": true });';
1178
 
1179
  $inline_js = 't_track_clk=0; jQuery(document).on("click","#place_order",function(e){ if(t_track_clk===0){';
1180
  if ($step_2_on_proceed_to_pay) {
1219
  $chkout_json[get_permalink($p->id)] = array(
1220
  "tvc_id" => esc_html($p->id),
1221
  "tvc_i" => esc_js($p->get_sku() ? $p->get_sku() : $p->id),
1222
+ "tvc_n" => html_entity_decode($p->get_title()),
1223
  "tvc_p" => esc_js($p->get_price()),
1224
  "tvc_c" => $categories,
1225
  "tvc_q" => esc_js($item["quantity"]),
1229
  $chkout_json[get_permalink($p->get_id())] = array(
1230
  "tvc_id" => esc_html($p->get_id()),
1231
  "tvc_i" => esc_js($p->get_sku() ? $p->get_sku() : $p->get_id()),
1232
+ "tvc_n" => html_entity_decode($p->get_title()),
1233
  "tvc_p" => esc_js($p->get_price()),
1234
  "tvc_c" => $categories,
1235
  "tvc_q" => esc_js($item["quantity"]),
1236
  "isfeatured"=>$p->is_featured()
1237
  );
1238
+ }
 
1239
  }
1240
  //return $code;
1241
  //make product data json on check out page
includes/owox_banner_700_150.png DELETED
Binary file
readme.txt CHANGED
@@ -7,8 +7,8 @@ Author URI: http://www.tatvic.com/
7
  Author: Tatvic
8
  Requires at least: 3.6
9
  Tested up to: 4.9
10
- Stable tag: 1.2.2
11
- Version: 1.2.2
12
  License: GPLv3
13
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
14
 
@@ -50,7 +50,7 @@ Provides integration between Enhanced Ecommerce feature of Google Analytics and
50
  * All the product sections on product page will be fired as Related Product and will be available in product list performance report.
51
 
52
  = Need an Advanced Google Analytics Plugin? =
53
- We have recently launched an Advanced Google Analytics Plugin for WooCommerce which includes tracking of 9 Reports of Enhanced Ecommerce, User ID Tracking, Product Refund, I.P. Anonymization, 15+ Custom Dimenensions & Metrics, Form Field Tracking, Content Grouping & much more. <a href="https://codecanyon.net/item/actionable-google-analytics-for-woocommerce/9899552?ref=tatvic" target="_blank">Learn More</a>
54
 
55
  == Note : ==
56
  == Our plugin does not support the below features out of the box ==
@@ -71,7 +71,6 @@ We have recently launched an Advanced Google Analytics Plugin for WooCommerce wh
71
  2. Next, you need to activate your plugin from the Settings page by clicking the checkbox – “Add Enhanced Ecommerce Tracking Code". You can access the same from: WooCommerce > Settings > Integration > Enhanced Ecommerce Google Analytics.
72
  3. To Track Guest Users, Check the box – Add Code to Track the Login Steps of Guest Users. If you have a Guest Check out & if it’s Unchecked, then it might cause an uneven funnel reporting in Google Analytics.
73
 
74
-
75
  == Frequently Asked Questions ==
76
  = Where can I find the setting for this plugin? =
77
 
@@ -99,13 +98,25 @@ Following are one or more reasons:
99
 
100
  * If you have just installed our plugin, then please wait for at-least 24 hours before you start seeing any data in your GA. If you still face this issue after 24 hours, please reach out to us via <a href="https://wordpress.org/support/plugin/enhanced-e-commerce-for-woocommerce-store" target="_blank">support thread</a>.
101
 
102
- = Since I have Implemented GA Script (UA tag) Via GTM, I didn't enable Add Universal Analytics Tracking Code option, but seems that it is not working. =
103
 
104
  When you have the UA script/tag implemented via your GTM, it may happen sometimes that the script might take/make any delay in loading on your store, due to which our plugin may not work well on your store.
105
 
106
  Reason :
107
 
108
- * Our Plugin's script works/fetches the data based on the GA's default tracker ('ga' in the case of Universal Analytics script used in our plugin). While you implement the UA tracking script from your GTM, the script in your store may not be able to initialize the tracker, which in turn will hinder the plugin from populating insights in your Analytics account.
 
 
 
 
 
 
 
 
 
 
 
 
109
 
110
  = Where I can see my all Enhanced Ecommerce Reports (Eg. Sales Report,Product Performance Report)? =
111
 
@@ -128,7 +139,7 @@ Possible reasons for not getting the accurate Transactions (in sales performance
128
 
129
  * The user has left the page before the transaction has had a chance to send to Google Analytics.
130
 
131
- Additionally, GA is a trend analysis tool, and as such cannot be expected to be 100% accurate. However, if the variance is greater than 10%, we request you to contact us!
132
 
133
  = My Ecommerce transaction data are not getting recorded in GA =
134
 
@@ -137,6 +148,7 @@ Please check if you have auto return configured in your payment gateway settings
137
  Hence, this may result into missing transaction data in your GA. You can resolve this issue by configuring auto return in your payment gateway settings.
138
 
139
  = Does this plugin help me create/configure goals/funnels in my GA account? =
 
140
  Configuring goals are out of the scope of our plugin. Our plugin is designed to track checkout funnels only.
141
 
142
  = Does your Plugin support Product Refund? =
@@ -149,7 +161,11 @@ Our plugin does not support Multilingual Wordpress site.
149
 
150
  = Does your plugin supports Child/Custom Theme? =
151
 
152
- The free version of our plugin is not fully compatible with the child/custom theme. Request you to go through the <a href="https://codecanyon.net/item/actionable-google-analytics-for-woocommerce/9899552?ref=tatvic" target="_blank">premium version</a> of our plugin which is fully compatible with the child/custom theme. For more information kindly contact us at analytics2(at)tatvic(dot)com.
 
 
 
 
153
 
154
  = How to verify if you have implemented the Plugin well? =
155
 
@@ -261,4 +277,9 @@ Important Note: When you update the plugin, please save your settings again.
261
 
262
  = 1.2.2 - 31/01/2018 =
263
  * Compatibility with Woocommerce 3.3
 
 
 
 
 
264
  * Minor Bug Fixes & Optimization.
7
  Author: Tatvic
8
  Requires at least: 3.6
9
  Tested up to: 4.9
10
+ Stable tag: 2.0.0
11
+ Version: 2.0.0
12
  License: GPLv3
13
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
14
 
50
  * All the product sections on product page will be fired as Related Product and will be available in product list performance report.
51
 
52
  = Need an Advanced Google Analytics Plugin? =
53
+ We have an Advanced Google Analytics Plugin for WooCommerce which includes tracking of 9 Reports of Enhanced Ecommerce, User ID Tracking, Product Refund, I.P. Anonymization, 15+ Custom Dimenensions & Metrics, Form Field Tracking, Content Grouping, Google Optimize & much more. <a href="https://codecanyon.net/item/actionable-google-analytics-for-woocommerce/9899552?ref=tatvic" target="_blank">Learn More</a>
54
 
55
  == Note : ==
56
  == Our plugin does not support the below features out of the box ==
71
  2. Next, you need to activate your plugin from the Settings page by clicking the checkbox – “Add Enhanced Ecommerce Tracking Code". You can access the same from: WooCommerce > Settings > Integration > Enhanced Ecommerce Google Analytics.
72
  3. To Track Guest Users, Check the box – Add Code to Track the Login Steps of Guest Users. If you have a Guest Check out & if it’s Unchecked, then it might cause an uneven funnel reporting in Google Analytics.
73
 
 
74
  == Frequently Asked Questions ==
75
  = Where can I find the setting for this plugin? =
76
 
98
 
99
  * If you have just installed our plugin, then please wait for at-least 24 hours before you start seeing any data in your GA. If you still face this issue after 24 hours, please reach out to us via <a href="https://wordpress.org/support/plugin/enhanced-e-commerce-for-woocommerce-store" target="_blank">support thread</a>.
100
 
101
+ = Since I have Implemented GA Script (UA tag) Via GTM, I didn't enable Add Global site Tracking Code option, but seems that it is not working. =
102
 
103
  When you have the UA script/tag implemented via your GTM, it may happen sometimes that the script might take/make any delay in loading on your store, due to which our plugin may not work well on your store.
104
 
105
  Reason :
106
 
107
+ * Our Plugin's script works/fetches the data based on the GTAG's default tracker ('gtag' in the case of Universal Analytics script used in our plugin). While you implement the UA tracking script from your GTM, the script in your store may not be able to initialize the tracker, which in turn will hinder the plugin from populating insights in your Analytics account.
108
+
109
+ = Does your plugin supports new Global Site Tag (gtag.js)? =
110
+
111
+ Yes our plugin supports new Global Site Tag (gtag.js).
112
+
113
+ = Since I have Implemented Old GA Script (UA Script) Manually in my store, I didn't enable Add Global site Tracking Code option, but seems that it is not working. =
114
+
115
+ When you have the Old UA script implemented Manually in your store, it is not working with our plugin
116
+
117
+ Reason :
118
+
119
+ * Our Plugin's script works/fetches the data based on the GTAG's default tracker ('gtag' in the case of Universal Analytics script used in our plugin). While you implement the Old UA tracking script manually, the script in your store may not be able to initialize the tracker, which in turn will hinder the plugin from populating insights in your Analytics account.
120
 
121
  = Where I can see my all Enhanced Ecommerce Reports (Eg. Sales Report,Product Performance Report)? =
122
 
139
 
140
  * The user has left the page before the transaction has had a chance to send to Google Analytics.
141
 
142
+ Additionally, GA is a trend analysis tool, and as such cannot be expected to be 100% accurate. However, if the variance is greater than 12%, we request you to contact us!
143
 
144
  = My Ecommerce transaction data are not getting recorded in GA =
145
 
148
  Hence, this may result into missing transaction data in your GA. You can resolve this issue by configuring auto return in your payment gateway settings.
149
 
150
  = Does this plugin help me create/configure goals/funnels in my GA account? =
151
+
152
  Configuring goals are out of the scope of our plugin. Our plugin is designed to track checkout funnels only.
153
 
154
  = Does your Plugin support Product Refund? =
161
 
162
  = Does your plugin supports Child/Custom Theme? =
163
 
164
+ The free version of our plugin is not fully compatible with the child/custom theme. Request you to go through the <a href="https://codecanyon.net/item/actionable-google-analytics-for-woocommerce/9899552?ref=tatvic" target="_blank">premium version</a> of our plugin which is fully compatible with the child/custom theme. We are not providing any kind of support for Child/Custom Theme. For more information kindly contact us at analytics2(at)tatvic(dot)com.
165
+
166
+ = Have you Provided Full support for the free version plugin? =
167
+
168
+ We have a limited support policy for the free version of our plugin. Kindly go through the <a href="https://codecanyon.net/item/actionable-google-analytics-for-woocommerce/9899552?ref=tatvic" target="_blank">premium version</a> of our plugin to get full support for the product or you can also contact us at analytics2(at)tatvic(dot)com.
169
 
170
  = How to verify if you have implemented the Plugin well? =
171
 
277
 
278
  = 1.2.2 - 31/01/2018 =
279
  * Compatibility with Woocommerce 3.3
280
+ * Minor Bug Fixes & Optimization.
281
+
282
+ = 2.0.0 - 07/03/2018 =
283
+ * New Implementation with Global Site Tag (gtag.js)
284
+ * gtag.js supported
285
  * Minor Bug Fixes & Optimization.
woocommerce-enhanced-ecommerce-google-analytics-integration.php CHANGED
@@ -21,7 +21,7 @@
21
  Description: Allows Enhanced E-commerce Google Analytics tracking code to be inserted into WooCommerce store pages.
22
  Author: Tatvic
23
  Author URI: http://www.tatvic.com
24
- Version: 1.2.2
25
  */
26
  if (!defined('ABSPATH')) {
27
  exit; // Exit if accessed directly
@@ -38,7 +38,6 @@ function wc_enhanced_ecommerce_google_analytics_add_integration($integrations) {
38
  return $integrations;
39
  }
40
 
41
-
42
  add_filter('woocommerce_integrations', 'wc_enhanced_ecommerce_google_analytics_add_integration', 10);
43
 
44
  //plugin action links on plugin page
21
  Description: Allows Enhanced E-commerce Google Analytics tracking code to be inserted into WooCommerce store pages.
22
  Author: Tatvic
23
  Author URI: http://www.tatvic.com
24
+ Version: 2.0.0
25
  */
26
  if (!defined('ABSPATH')) {
27
  exit; // Exit if accessed directly
38
  return $integrations;
39
  }
40
 
 
41
  add_filter('woocommerce_integrations', 'wc_enhanced_ecommerce_google_analytics_add_integration', 10);
42
 
43
  //plugin action links on plugin page