Enhanced Ecommerce Google Analytics Plugin for WooCommerce - Version 4.1.2

Version Description

  • 02/09/2021 =

  • For some users, products were not auto-updated in the merchant center. The issue is fixed now and the free plugin will update the products in the merchant center at every 25 days interval.

  • We have now removed the onboarding sub-menu from WordPress dashboard section.

  • There was a discrepancy in the product data that was being shown to Product sync dashboard, it is now fixed.

  • Admin notice was not getting permanently closed for some users, we have fixed the issue now.

  • Performance enhancements for product sync functionality for Google Shopping.

Download this release

Release Info

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

Code changes from version 4.1.1 to 4.1.2

admin/class-conversios-onboarding.php CHANGED
@@ -26,13 +26,13 @@ if ( ! class_exists( 'Conversios_Onboarding' ) ) {
26
  $this->customApiObj = new CustomApi();
27
  $this->TVC_Admin_Helper = new TVC_Admin_Helper();
28
  $ee_additional_data = $this->TVC_Admin_Helper->get_ee_additional_data();
29
-
30
 
31
- $this->connect_url = $this->TVC_Admin_Helper->get_connect_url();
32
  $this->tvc_data = $this->TVC_Admin_Helper->get_store_data();
33
  /**
34
  * check last login for check RefreshToken
35
  */
 
36
  if(isset($ee_additional_data['ee_last_login']) && $ee_additional_data['ee_last_login'] != ""){
37
  $this->last_login = $ee_additional_data['ee_last_login'];
38
  $current = current_time( 'timestamp' );
@@ -109,7 +109,7 @@ if ( ! class_exists( 'Conversios_Onboarding' ) ) {
109
  $complete_step["step-0"] = 1;
110
 
111
  $ee_additional_data = $this->TVC_Admin_Helper->get_ee_additional_data();
112
- $ee_additional_data['ee_last_login']=current_time( 'timestamp' );
113
  $this->TVC_Admin_Helper->set_ee_additional_data($ee_additional_data);
114
  }
115
  //$this->tvc_data = json_encode($this->tvc_data);
@@ -476,7 +476,7 @@ if ( ! class_exists( 'Conversios_Onboarding' ) ) {
476
  <small>Redeem upto</small>
477
  <?php echo $off_credit_amt; ?>
478
  </div>
479
- <p>Create your first Google Ads account with us and redeem upto £120.00 on the spend you make in the next 31 days.</p>
480
  <a target="_blank" href="https://conversios.io/help-center/Google-Spend-Match.pdf" class="lrnmorbtn">Learn more <img src="<?php echo ENHANCAD_PLUGIN_URL.'/admin/images/arrow_right.png'; ?>" alt="" /></a>
481
  </div>
482
  <div class="onbrdrgt-nav">
@@ -955,13 +955,23 @@ if ( ! class_exists( 'Conversios_Onboarding' ) ) {
955
  */
956
  public function register() {
957
  // Getting started - shows after installation.
958
- add_dashboard_page(
959
- esc_html__( 'Welcome to Conversios Onboarding', 'conversios' ),
960
- esc_html__( 'Welcome to Conversios Onboarding', 'google-analytics-for-wordpress' ),
961
- apply_filters( 'conversios_welcome', 'manage_options' ),
962
- 'conversios_onboarding',
963
- array( $this, 'welcome_screen' )
964
- );
 
 
 
 
 
 
 
 
 
 
965
  }
966
  /**
967
  * Check if we should do any redirect.
@@ -980,8 +990,8 @@ if ( ! class_exists( 'Conversios_Onboarding' ) ) {
980
  return;
981
  }
982
 
983
- $path = 'index.php?page=conversios_onboarding&conversios-redirect=1';
984
- $redirect = is_network_admin() ? network_admin_url( $path ) : admin_url( $path );
985
  wp_safe_redirect( $redirect );
986
  exit;
987
 
26
  $this->customApiObj = new CustomApi();
27
  $this->TVC_Admin_Helper = new TVC_Admin_Helper();
28
  $ee_additional_data = $this->TVC_Admin_Helper->get_ee_additional_data();
 
29
 
30
+ $this->connect_url = $this->TVC_Admin_Helper->get_connect_url();
31
  $this->tvc_data = $this->TVC_Admin_Helper->get_store_data();
32
  /**
33
  * check last login for check RefreshToken
34
  */
35
+ //print_r($ee_additional_data); exit;
36
  if(isset($ee_additional_data['ee_last_login']) && $ee_additional_data['ee_last_login'] != ""){
37
  $this->last_login = $ee_additional_data['ee_last_login'];
38
  $current = current_time( 'timestamp' );
109
  $complete_step["step-0"] = 1;
110
 
111
  $ee_additional_data = $this->TVC_Admin_Helper->get_ee_additional_data();
112
+ $ee_additional_data['ee_last_login'] = current_time( 'timestamp' );
113
  $this->TVC_Admin_Helper->set_ee_additional_data($ee_additional_data);
114
  }
115
  //$this->tvc_data = json_encode($this->tvc_data);
476
  <small>Redeem upto</small>
477
  <?php echo $off_credit_amt; ?>
478
  </div>
479
+ <p>Create your first Google Ads account with us and redeem upto <?php echo $off_credit_amt; ?> on the spend you make in the next 31 days.</p>
480
  <a target="_blank" href="https://conversios.io/help-center/Google-Spend-Match.pdf" class="lrnmorbtn">Learn more <img src="<?php echo ENHANCAD_PLUGIN_URL.'/admin/images/arrow_right.png'; ?>" alt="" /></a>
481
  </div>
482
  <div class="onbrdrgt-nav">
955
  */
956
  public function register() {
957
  // Getting started - shows after installation.
958
+ if(isset($_GET['page']) && $_GET['page'] == "conversios_onboarding"){
959
+ add_dashboard_page(
960
+ esc_html__( 'Welcome to Conversios Onboarding', 'conversios' ),
961
+ esc_html__( 'Welcome to Conversios Onboarding', 'google-analytics-for-wordpress' ),
962
+ apply_filters( 'conversios_welcome', 'manage_options' ),
963
+ 'conversios_onboarding',
964
+ array( $this, 'welcome_screen' )
965
+ );
966
+ /*add_submenu_page(
967
+ '__FILE__',
968
+ esc_html__('Welcome to Conversios Onboarding', 'enhanced-ecommerce-google-analytics-admin-display'),
969
+ esc_html__('Welcome to Conversios Onboarding', 'enhanced-ecommerce-google-analytics-admin-display'),
970
+ 'administrator',
971
+ 'conversios_onboarding',
972
+ array($this, 'welcome_screen'),10
973
+ );*/
974
+ }
975
  }
976
  /**
977
  * Check if we should do any redirect.
990
  return;
991
  }
992
 
993
+ $path = '?page=conversios_onboarding';
994
+ $redirect = admin_url( $path );
995
  wp_safe_redirect( $redirect );
996
  exit;
997
 
admin/class-enhanced-ecommerce-google-analytics-admin.php CHANGED
@@ -89,21 +89,20 @@ class Enhanced_Ecommerce_Google_Analytics_Admin extends TVC_Admin_Helper {
89
  }
90
  ?>
91
  <script>
92
- (function( $ ) {
93
- $( function() {
94
- $( '.notice' ).on( 'click', '.notice-dismiss', function( event, el ) {
95
- var ee_notice_dismiss_id = $(this).parent('.is-dismissible').attr("data-id");
96
- jQuery.post(myAjaxNonces.ajaxurl,{
97
- action: "tvc_call_notice_dismiss",
98
- data:{ee_notice_dismiss_id:ee_notice_dismiss_id},
99
- dataType: "json",
100
- apiDomainClaimNonce: myAjaxNonces.apiNoticDismissNonce
101
- },function( response ){
102
-
103
- });
104
- });
105
- } );
106
- })( jQuery );
107
  </script>
108
  <?php
109
  }
@@ -270,7 +269,7 @@ class Enhanced_Ecommerce_Google_Analytics_Admin extends TVC_Admin_Helper {
270
  <div class="header-section">
271
  <?php if($plan_id == 1){?>
272
  <div class="top-section">
273
- <p>You are using free plugin. <a href="<?php echo $this->pro_plan_site.'?utm_source=EE+Plugin+User+Interface&utm_medium=Top+Bar+upgrading+to+pro&utm_campaign=Upsell+at+Conversios'; ?>" target="_blank" class="text-underline">Try premium features at no cost for 1 Month..!!</a>..!!!</p>
274
  </div>
275
  <?php } ?>
276
  <nav class="navbar navbar-section">
89
  }
90
  ?>
91
  <script>
92
+ var tvc_ajax_url = '<?php echo admin_url( 'admin-ajax.php' ); ?>';
93
+ (function( $ ) {
94
+ $( function() {
95
+ $( '.notice' ).on( 'click', '.notice-dismiss', function( event, el ) {
96
+ var ee_notice_dismiss_id = $(this).parent('.is-dismissible').attr("data-id");
97
+ jQuery.post(tvc_ajax_url,{
98
+ action: "tvc_call_notice_dismiss",
99
+ data:{ee_notice_dismiss_id:ee_notice_dismiss_id},
100
+ dataType: "json"
101
+ },function( response ){
102
+ });
103
+ });
104
+ });
105
+ })( jQuery );
 
106
  </script>
107
  <?php
108
  }
269
  <div class="header-section">
270
  <?php if($plan_id == 1){?>
271
  <div class="top-section">
272
+ <p>You are using free plugin. <a href="<?php echo $this->pro_plan_site.'?utm_source=EE+Plugin+User+Interface&utm_medium=Top+Bar+upgrading+to+pro&utm_campaign=Upsell+at+Conversios'; ?>" target="_blank" class="text-underline">Try premium features at no cost for 1 Month..!!</a></p>
273
  </div>
274
  <?php } ?>
275
  <nav class="navbar navbar-section">
admin/class-tvc-admin-auto-product-sync-helper.php CHANGED
@@ -23,7 +23,7 @@ if ( ! class_exists( 'TVC_Admin_Auto_Product_sync_Helper' ) ) {
23
  add_action('admin_init',array($this,'add_schedule_event'));
24
  add_action( 'ee_auto_product_sync_check', array($this, 'call_auto_sync_product' ), 10, 1 );
25
 
26
- //add_action('admin_init',array($this,'call_auto_sync_product_tttt'));
27
  }
28
 
29
  public function includes() {
@@ -212,8 +212,7 @@ if ( ! class_exists( 'TVC_Admin_Auto_Product_sync_Helper' ) ) {
212
  }
213
 
214
  $product = array_merge($temp_product,$product);
215
-
216
- if($prd->get_type() == "variable"){
217
  $variation_attributes = $prd->get_variation_attributes();
218
  $can_add_item_group_id = false;
219
  $is_color_size = false;
@@ -314,7 +313,7 @@ if ( ! class_exists( 'TVC_Admin_Auto_Product_sync_Helper' ) ) {
314
  }else{
315
  goto simpleproduct;
316
  }
317
- }else{
318
  simpleproduct:
319
  $image_id = $prd->get_image_id();
320
  $product['image_link'] = wp_get_attachment_image_url($image_id, 'full');
23
  add_action('admin_init',array($this,'add_schedule_event'));
24
  add_action( 'ee_auto_product_sync_check', array($this, 'call_auto_sync_product' ), 10, 1 );
25
 
26
+ //add_action('admin_init',array($this,'call_auto_sync_product_ttt'));
27
  }
28
 
29
  public function includes() {
212
  }
213
 
214
  $product = array_merge($temp_product,$product);
215
+ if( !empty($prd) && $prd->get_type() == "variable" ){
 
216
  $variation_attributes = $prd->get_variation_attributes();
217
  $can_add_item_group_id = false;
218
  $is_color_size = false;
313
  }else{
314
  goto simpleproduct;
315
  }
316
+ }else if( !empty($prd) ){
317
  simpleproduct:
318
  $image_id = $prd->get_image_id();
319
  $product['image_link'] = wp_get_attachment_image_url($image_id, 'full');
admin/class-tvc-admin-helper.php CHANGED
@@ -217,15 +217,23 @@ Class TVC_Admin_Helper{
217
  public function import_gmc_products_sync_in_db($next_page_token = null){
218
  $merchant_id = $this->get_merchantId();
219
  $last_row = $this->TVC_Admin_DB_Helper->tvc_get_last_row('ee_products_sync_list',array("gmc_id"));
 
 
 
220
  if(!empty($last_row) && isset($last_row['gmc_id']) && $last_row['gmc_id'] != $merchant_id){
221
  global $wpdb;
222
  $tablename = $wpdb->prefix ."ee_products_sync_list";
223
- $wpdb->query("DROP TABLE IF EXISTS ".$tablename);
 
224
  $tablename = $wpdb->prefix ."ee_product_sync_data";
225
  $this->TVC_Admin_DB_Helper->tvc_safe_truncate_table($tablename);
226
  $tablename = $wpdb->prefix ."ee_product_sync_call";
227
  $this->TVC_Admin_DB_Helper->tvc_safe_truncate_table($tablename);
228
- new TVC_Admin_Auto_Product_sync_Helper();
 
 
 
 
229
  }
230
  if( $merchant_id != "" ){
231
  $args = array( 'merchant_id' => $merchant_id );
217
  public function import_gmc_products_sync_in_db($next_page_token = null){
218
  $merchant_id = $this->get_merchantId();
219
  $last_row = $this->TVC_Admin_DB_Helper->tvc_get_last_row('ee_products_sync_list',array("gmc_id"));
220
+ /**
221
+ * truncate table before import the GMC products
222
+ */
223
  if(!empty($last_row) && isset($last_row['gmc_id']) && $last_row['gmc_id'] != $merchant_id){
224
  global $wpdb;
225
  $tablename = $wpdb->prefix ."ee_products_sync_list";
226
+ //$wpdb->query("DROP TABLE IF EXISTS ".$tablename);
227
+ $this->TVC_Admin_DB_Helper->tvc_safe_truncate_table($tablename);
228
  $tablename = $wpdb->prefix ."ee_product_sync_data";
229
  $this->TVC_Admin_DB_Helper->tvc_safe_truncate_table($tablename);
230
  $tablename = $wpdb->prefix ."ee_product_sync_call";
231
  $this->TVC_Admin_DB_Helper->tvc_safe_truncate_table($tablename);
232
+ //new TVC_Admin_Auto_Product_sync_Helper();
233
+ }else if( $next_page_token =="" ){
234
+ global $wpdb;
235
+ $tablename = $wpdb->prefix ."ee_products_sync_list";
236
+ $this->TVC_Admin_DB_Helper->tvc_safe_truncate_table($tablename);
237
  }
238
  if( $merchant_id != "" ){
239
  $args = array( 'merchant_id' => $merchant_id );
admin/helper/class-onboarding-helper.php CHANGED
@@ -321,7 +321,9 @@ if(!class_exists('Conversios_Onboarding_Helper')):
321
  /**
322
  * for site verifecation
323
  */
324
- $this->site_verification_and_domain_claim($googleDetail);
 
 
325
 
326
  $_POST['subscription_id'] = $googleDetail->id;
327
  $_POST['ga_eeT'] = (isset($googleDetail->enhanced_e_commerce_tracking) && $googleDetail->enhanced_e_commerce_tracking == "1") ? "on" : "";
@@ -344,18 +346,25 @@ if(!class_exists('Conversios_Onboarding_Helper')):
344
  update_option('ads_tracking_id', $googleDetail->google_ads_id);
345
  update_option('ads_ert', $googleDetail->remarketing_tags);
346
  update_option('ads_edrt', $googleDetail->dynamic_remarketing_tags);
347
- Enhanced_Ecommerce_Google_Settings::add_update_settings('ee_options');
 
 
 
 
 
 
 
 
 
 
 
 
348
  if(property_exists($tvc_data,"g_mail") && $tvc_data->g_mail){
349
  update_option('ee_customer_gmail', $tvc_data->g_mail);
350
  }
351
  if(isset($_POST['ga_view_id']) && $_POST['ga_view_id']){
352
  update_option('ee_ga_view_id', $_POST['ga_view_id']);
353
  }
354
-
355
- /**
356
- * function call for save remarketing snippets in WP DB
357
- */
358
- $TVC_Admin_Helper->update_remarketing_snippets();
359
  $return_url = "admin.php?page=enhanced-ecommerce-google-analytics-admin-display&tab=gaa_config_page";
360
  if(isset($googleDetail->google_merchant_center_id) || isset($googleDetail->google_ads_id) ){
361
  if( $googleDetail->google_merchant_center_id != "" && $googleDetail->google_ads_id != ""){
@@ -373,6 +382,7 @@ if(!class_exists('Conversios_Onboarding_Helper')):
373
  */
374
  public function site_verification_and_domain_claim($googleDetail){
375
  $TVC_Admin_Helper = new TVC_Admin_Helper();
 
376
  $customApiObj = new CustomApi();
377
  $postData = [
378
  'merchant_id' => $googleDetail->merchant_id,
@@ -403,7 +413,9 @@ if(!class_exists('Conversios_Onboarding_Helper')):
403
  $postData['method']="meta";
404
  $siteVerificationToken_tag = $customApiObj->siteVerificationToken($postData);
405
  if(isset($siteVerificationToken_tag->data->token) && $siteVerificationToken_tag->data->token){
406
- $TVC_Admin_Helper->set_ee_additional_data(array("add_site_varification_tag"=>1,"site_varification_tag_val"=> base64_encode($siteVerificationToken_tag->data->token)));
 
 
407
  sleep(1);
408
  $siteVerification_tag = $customApiObj->siteVerification($postData);
409
  if(isset($siteVerification_tag->error) && !empty($siteVerification_tag->errors)){
321
  /**
322
  * for site verifecation
323
  */
324
+ if(isset($googleDetail->google_merchant_center_id) && $googleDetail->google_merchant_center_id){
325
+ $this->site_verification_and_domain_claim($googleDetail);
326
+ }
327
 
328
  $_POST['subscription_id'] = $googleDetail->id;
329
  $_POST['ga_eeT'] = (isset($googleDetail->enhanced_e_commerce_tracking) && $googleDetail->enhanced_e_commerce_tracking == "1") ? "on" : "";
346
  update_option('ads_tracking_id', $googleDetail->google_ads_id);
347
  update_option('ads_ert', $googleDetail->remarketing_tags);
348
  update_option('ads_edrt', $googleDetail->dynamic_remarketing_tags);
349
+ Enhanced_Ecommerce_Google_Settings::add_update_settings('ee_options');
350
+ /*
351
+ * function call for save API data in WP DB
352
+ */
353
+ $TVC_Admin_Helper->set_update_api_to_db($googleDetail, false);
354
+
355
+ /**
356
+ * function call for save remarketing snippets in WP DB
357
+ */
358
+ $TVC_Admin_Helper->update_remarketing_snippets();
359
+ /**
360
+ * save gmail and view ID in WP DB
361
+ */
362
  if(property_exists($tvc_data,"g_mail") && $tvc_data->g_mail){
363
  update_option('ee_customer_gmail', $tvc_data->g_mail);
364
  }
365
  if(isset($_POST['ga_view_id']) && $_POST['ga_view_id']){
366
  update_option('ee_ga_view_id', $_POST['ga_view_id']);
367
  }
 
 
 
 
 
368
  $return_url = "admin.php?page=enhanced-ecommerce-google-analytics-admin-display&tab=gaa_config_page";
369
  if(isset($googleDetail->google_merchant_center_id) || isset($googleDetail->google_ads_id) ){
370
  if( $googleDetail->google_merchant_center_id != "" && $googleDetail->google_ads_id != ""){
382
  */
383
  public function site_verification_and_domain_claim($googleDetail){
384
  $TVC_Admin_Helper = new TVC_Admin_Helper();
385
+ $ee_additional_data = $TVC_Admin_Helper->get_ee_additional_data();
386
  $customApiObj = new CustomApi();
387
  $postData = [
388
  'merchant_id' => $googleDetail->merchant_id,
413
  $postData['method']="meta";
414
  $siteVerificationToken_tag = $customApiObj->siteVerificationToken($postData);
415
  if(isset($siteVerificationToken_tag->data->token) && $siteVerificationToken_tag->data->token){
416
+ $ee_additional_data["add_site_varification_tag"]=1;
417
+ $ee_additional_data["site_varification_tag_val"]=base64_encode($siteVerificationToken_tag->data->token);
418
+ $TVC_Admin_Helper->set_ee_additional_data($ee_additional_data);
419
  sleep(1);
420
  $siteVerification_tag = $customApiObj->siteVerification($postData);
421
  if(isset($siteVerification_tag->error) && !empty($siteVerification_tag->errors)){
enhanced-ecommerce-google-analytics.php CHANGED
@@ -16,7 +16,7 @@
16
  * Plugin Name: Enhanced E-commerce for Woocommerce store
17
  * Plugin URI: https://www.tatvic.com/tatvic-labs/woocommerce-extension/
18
  * Description: Automates eCommerce tracking in Google Analytics, dynamic remarkting in Google Ads, and provides complete Google Shopping features.
19
- * Version: 4.1.1
20
  * Author: Tatvic
21
  * Author URI: www.tatvic.com
22
  * License: GPL-2.0+
@@ -38,7 +38,7 @@ if ( ! defined( 'WPINC' ) ) {
38
  * Start at version 1.0.0 and use SemVer - https://semver.org
39
  * Rename this for your plugin and update it as you release new versions.
40
  */
41
- define( 'PLUGIN_TVC_VERSION', '4.1.1' );
42
  $fullName = plugin_basename( __FILE__ );
43
  $dir = str_replace('/enhanced-ecommerce-google-analytics.php','',$fullName);
44
  if ( ! defined( 'ENHANCAD_PLUGIN_NAME' ) ) {
16
  * Plugin Name: Enhanced E-commerce for Woocommerce store
17
  * Plugin URI: https://www.tatvic.com/tatvic-labs/woocommerce-extension/
18
  * Description: Automates eCommerce tracking in Google Analytics, dynamic remarkting in Google Ads, and provides complete Google Shopping features.
19
+ * Version: 4.1.2
20
  * Author: Tatvic
21
  * Author URI: www.tatvic.com
22
  * License: GPL-2.0+
38
  * Start at version 1.0.0 and use SemVer - https://semver.org
39
  * Rename this for your plugin and update it as you release new versions.
40
  */
41
+ define( 'PLUGIN_TVC_VERSION', '4.1.2' );
42
  $fullName = plugin_basename( __FILE__ );
43
  $dir = str_replace('/enhanced-ecommerce-google-analytics.php','',$fullName);
44
  if ( ! defined( 'ENHANCAD_PLUGIN_NAME' ) ) {
readme.txt CHANGED
@@ -1,15 +1,15 @@
1
- === Enhanced Ecommerce Google Analytics Plugin for WooCommerce ===
2
  Contributors: Tatvic, Conversios
3
  Plugin Name: Enhanced Ecommerce for WooCommerce Store
4
  Plugin URI: https://wordpress.org/plugins/enhanced-e-commerce-for-woocommerce-store/
5
  Tags: Google Analytics tracking, Dynamic Remarketing, Google Shopping automation,Google Shopping, Universal Analytics tracking,Google Analytics integration,Google Analytics integration for WooCommerce,Ecommerce tracking, google analytics 4 tracking, google shopping feed, Web Analytics, Web Analytics For WooCommerce, WooCommerce Enhanced Ecommerce, WooCommerce Google Analytics, Google Analytics Plugin, Enhanced Ecommerce Plugin
6
- Author URI: https://www.tatvic.com/
7
  Author: Tatvic
8
  Requires at least: 1.4.1
9
  Tested up to: 5.8
10
  Requires PHP: 5.6 or Higher
11
- Stable tag: 4.1.1
12
- Version: 4.1.1
13
  License: GPLv3
14
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
15
 
@@ -380,6 +380,18 @@ You can resolve the duplication of data by removing the manually implemented GA
380
 
381
  == Changelog ==
382
 
 
 
 
 
 
 
 
 
 
 
 
 
383
  = 4.1.1 - 24/08/2021 =
384
 
385
  * Fixed the issue for fetching Google ads account for some store
1
+ === Google Analytics and Google Shopping plugin for WooCommerce ===
2
  Contributors: Tatvic, Conversios
3
  Plugin Name: Enhanced Ecommerce for WooCommerce Store
4
  Plugin URI: https://wordpress.org/plugins/enhanced-e-commerce-for-woocommerce-store/
5
  Tags: Google Analytics tracking, Dynamic Remarketing, Google Shopping automation,Google Shopping, Universal Analytics tracking,Google Analytics integration,Google Analytics integration for WooCommerce,Ecommerce tracking, google analytics 4 tracking, google shopping feed, Web Analytics, Web Analytics For WooCommerce, WooCommerce Enhanced Ecommerce, WooCommerce Google Analytics, Google Analytics Plugin, Enhanced Ecommerce Plugin
6
+ Author URI: https://conversios.io/
7
  Author: Tatvic
8
  Requires at least: 1.4.1
9
  Tested up to: 5.8
10
  Requires PHP: 5.6 or Higher
11
+ Stable tag: 4.1.2
12
+ Version: 4.1.2
13
  License: GPLv3
14
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
15
 
380
 
381
  == Changelog ==
382
 
383
+ = 4.1.2 - 02/09/2021 =
384
+
385
+ * For some users, products were not auto-updated in the merchant center. The issue is fixed now and the free plugin will update the products in the merchant center at every 25 days interval.
386
+
387
+ * We have now removed the onboarding sub-menu from WordPress dashboard section.
388
+
389
+ * There was a discrepancy in the product data that was being shown to Product sync dashboard, it is now fixed.
390
+
391
+ * Admin notice was not getting permanently closed for some users, we have fixed the issue now.
392
+
393
+ * Performance enhancements for product sync functionality for Google Shopping.
394
+
395
  = 4.1.1 - 24/08/2021 =
396
 
397
  * Fixed the issue for fetching Google ads account for some store