diff --git a/app/models/spree/app_configuration_decorator.rb b/app/models/spree/app_configuration_decorator.rb
index 6d0b48f666..5b11a0ee61 100644
--- a/app/models/spree/app_configuration_decorator.rb
+++ b/app/models/spree/app_configuration_decorator.rb
@@ -14,7 +14,6 @@ Spree::AppConfiguration.class_eval do
preference :privacy_policy_url, :string, default: nil
preference :cookies_consent_banner_toggle, :boolean, default: false
preference :cookies_policy_matomo_section, :boolean, default: false
- preference :cookies_policy_ga_section, :boolean, default: false
# Tax Preferences
preference :products_require_tax_category, :boolean, default: false
diff --git a/app/views/layouts/darkswarm.html.haml b/app/views/layouts/darkswarm.html.haml
index fa42b8f745..1f92137e9e 100644
--- a/app/views/layouts/darkswarm.html.haml
+++ b/app/views/layouts/darkswarm.html.haml
@@ -56,4 +56,3 @@
= render "layouts/bugherd_script"
= render "layouts/matomo_tag"
- = render 'spree/shared/google_analytics'
diff --git a/app/views/spree/admin/general_settings/edit.html.haml b/app/views/spree/admin/general_settings/edit.html.haml
index 04536bbf96..dc1993a08b 100644
--- a/app/views/spree/admin/general_settings/edit.html.haml
+++ b/app/views/spree/admin/general_settings/edit.html.haml
@@ -38,9 +38,6 @@
.field
= preference_field_tag(:cookies_policy_matomo_section, Spree::Config[:cookies_policy_matomo_section], :type => Spree::Config.preference_type(:cookies_policy_matomo_section))
= label_tag(:cookies_policy_matomo_section, t('.cookies_policy_matomo_section')) + tag(:br)
- .field
- = preference_field_tag(:cookies_policy_ga_section, Spree::Config[:cookies_policy_ga_section], :type => Spree::Config.preference_type(:cookies_policy_ga_section))
- = label_tag(:cookies_policy_ga_section, t('.cookies_policy_ga_section')) + tag(:br)
.field
= label_tag(:privacy_policy_url, t('.privacy_policy_url')) + tag(:br)
= preference_field_tag(:privacy_policy_url, Spree::Config[:privacy_policy_url], type: Spree::Config.preference_type(:privacy_policy_url))
diff --git a/app/views/spree/admin/shared/_configuration_menu.html.haml b/app/views/spree/admin/shared/_configuration_menu.html.haml
index 7ec62c516e..5810cc97b2 100644
--- a/app/views/spree/admin/shared/_configuration_menu.html.haml
+++ b/app/views/spree/admin/shared/_configuration_menu.html.haml
@@ -20,7 +20,6 @@
= configurations_sidebar_menu_item Spree.t(:shipping_methods), admin_shipping_methods_path
= configurations_sidebar_menu_item Spree.t(:shipping_categories), admin_shipping_categories_path
= configurations_sidebar_menu_item t(:enterprise_fees), main_app.admin_enterprise_fees_path
- = configurations_sidebar_menu_item Spree.t(:analytics_trackers), admin_trackers_path
= configurations_sidebar_menu_item t('admin.contents.edit.title'), main_app.edit_admin_contents_path
= configurations_sidebar_menu_item t('admin.invoice_settings.edit.title'), main_app.edit_admin_invoice_settings_path
= configurations_sidebar_menu_item t('admin.matomo_settings.edit.title'), main_app.edit_admin_matomo_settings_path
diff --git a/app/views/spree/admin/shared/_tabs.html.haml b/app/views/spree/admin/shared/_tabs.html.haml
index 219305ca40..920480fc8b 100644
--- a/app/views/spree/admin/shared/_tabs.html.haml
+++ b/app/views/spree/admin/shared/_tabs.html.haml
@@ -3,7 +3,7 @@
= tab :order_cycles, url: main_app.admin_order_cycles_path, icon: 'icon-refresh'
= tab :orders, :subscriptions, :customer_details, :adjustments, :payments, :return_authorizations, url: admin_orders_path('q[s]' => 'completed_at desc'), icon: 'icon-shopping-cart'
= tab :reports, icon: 'icon-file'
-= tab :general_settings, :mail_method, :image_settings, :tax_categories, :tax_rates, :tax_settings, :zones, :countries, :states, :payment_methods, :taxonomies, :shipping_methods, :shipping_categories, :enterprise_fees, :trackers, :contents, :invoice_settings, :matomo_settings, :stripe_connect_settings, label: 'configuration', icon: 'icon-wrench', url: edit_admin_general_settings_path
+= tab :general_settings, :mail_method, :image_settings, :tax_categories, :tax_rates, :tax_settings, :zones, :countries, :states, :payment_methods, :taxonomies, :shipping_methods, :shipping_categories, :enterprise_fees, :contents, :invoice_settings, :matomo_settings, :stripe_connect_settings, label: 'configuration', icon: 'icon-wrench', url: edit_admin_general_settings_path
= tab :enterprises, :enterprise_relationships, url: main_app.admin_enterprises_path
= tab :customers, url: main_app.admin_customers_path
= tab :enterprise_groups, url: main_app.admin_enterprise_groups_path, label: 'groups'
diff --git a/app/views/spree/layouts/_admin_body.html.haml b/app/views/spree/layouts/_admin_body.html.haml
index 0d7c17c5ba..6fb035c825 100644
--- a/app/views/spree/layouts/_admin_body.html.haml
+++ b/app/views/spree/layouts/_admin_body.html.haml
@@ -70,7 +70,5 @@
%div{"data-hook" => "admin_footer_scripts"}
-= render 'spree/shared/google_analytics'
-
%script
= raw "Spree.api_key = \"#{try_spree_current_user.try(:spree_api_key).to_s}\";"
diff --git a/app/views/spree/shared/_google_analytics.html.erb b/app/views/spree/shared/_google_analytics.html.erb
deleted file mode 100644
index 3098059e9c..0000000000
--- a/app/views/spree/shared/_google_analytics.html.erb
+++ /dev/null
@@ -1,39 +0,0 @@
-<% if tracker = Spree::Tracker.current %>
-
- <%= javascript_tag do %>
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', '<%= tracker.analytics_id %>']);
- _gaq.push(['_trackPageview']);
-
- <% if flash[:commerce_tracking] && @order.present? %>
- <%# more info: https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApiEcommerce %>
- _gaq.push(['_addTrans',
- "<%= j @order.number %>",
- "",
- "<%= @order.total %>",
- "<%= @order.adjustments.tax.sum(:amount) %>",
- "<%= @order.adjustments.shipping.sum(:amount) %>",
- "<%= j @order.bill_address.city %>",
- "<%= j @order.bill_address.state_text %>",
- "<%= j @order.bill_address.country.name %>"
- ]);
- <% @order.line_items.each do |line_item| %>
- _gaq.push(['_addItem',
- "<%= j @order.number %>",
- "<%= j line_item.variant.sku %>",
- "<%= j line_item.variant.product.name %>",
- "",
- "<%= line_item.price %>",
- "<%= line_item.quantity %>"
- ]);
- <% end %>
- _gaq.push(['_trackTrans']);
- <% end %>
-
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = '//google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- <% end %>
-<% end %>
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 07a8a849c2..831dec00f8 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -1404,14 +1404,8 @@ en:
cookie_stripe_desc: "Data collected by our payment processor Stripe for fraud detection https://stripe.com/cookies-policy/legal. Not all shops use Stripe as a payment method but it is a good practice to prevent fraud to apply it to all pages. Stripe probably build a picture of which of our pages usually interact with their API and then flag anything unusual. So setting the Stripe cookie has a broader function than simply the provision of a payment method to a user. Removing it could affect the security of the service itself. You can learn more about Stripe and read its privacy policy at https://stripe.com/privacy."
statistics_cookies: "Statistics Cookies"
statistics_cookies_desc: "The following are not strictly necessary, but help to provide you with the best user experience by allowing us to analyse user behaviour, identify which features you use most, or don’t use, understand user experience issues, etc."
- statistics_cookies_analytics_desc_html: "To collect and analyse platform usage data, we use Google Analytics, as it was the default service connected with Spree (the e-commerce open source software that we built on) but our vision is to switch to Matomo (ex Piwik, open source analytics tool that is GDPR compliant and protects your privacy) as soon as we can."
statistics_cookies_matomo_desc_html: "To collect and analyse platform usage data, we use Matomo (ex Piwik), an open source analytics tool that is GDPR compliant and protects your privacy."
statistics_cookies_matomo_optout: "Do you want to opt-out of Matomo analytics? We don’t collect any personal data, and Matomo helps us to improve our service, but we respect your choice :-)"
- cookie_analytics_utma_desc: "Used to distinguish users and sessions. The cookie is created when the javascript library executes and no existing __utma cookies exists. The cookie is updated every time data is sent to Google Analytics."
- cookie_analytics_utmt_desc: "Used to throttle request rate."
- cookie_analytics_utmb_desc: "Used to determine new sessions/visits. The cookie is created when the javascript library executes and no existing __utmb cookies exists. The cookie is updated every time data is sent to Google Analytics."
- cookie_analytics_utmc_desc: "Not used in ga.js. Set for interoperability with urchin.js. Historically, this cookie operated in conjunction with the __utmb cookie to determine whether the user was in a new session/visit."
- cookie_analytics_utmz_desc: "Stores the traffic source or campaign that explains how the user reached your site. The cookie is created when the javascript library executes and is updated every time data is sent to Google Analytics."
cookie_matomo_basics_desc: "Matomo first party cookies to collect statistics."
cookie_matomo_heatmap_desc: "Matomo Heatmap & Session Recording cookie."
cookie_matomo_ignore_desc: "Cookie used to exclude user from being tracked."
@@ -3049,13 +3043,6 @@ See the %{link} to find out more about %{sitename}'s features and to start using
new_shipping_category: "New Shipping Category"
back_to_shipping_categories: "Back To Shipping Categories"
- analytics_trackers: "Analytics Trackers"
- no_trackers_found: "No Trackers Found"
- new_tracker: "New Tracker"
- add_one: "Add One"
- google_analytics_id: "Analytics ID"
- back_to_trackers_list: "Back to Trackers List"
-
name: "Name"
description: "Description"
type: "Type"
@@ -3397,7 +3384,6 @@ See the %{link} to find out more about %{sitename}'s features and to start using
privacy_policy_url: "Privacy Policy URL"
enterprises_require_tos: "Enterprises must accept Terms of Service"
cookies_policy_matomo_section: "Display Matomo section on cookies policy page"
- cookies_policy_ga_section: "Display Google Analytics section on cookies policy page"
footer_tos_url: "Terms of Service URL"
checkout:
payment:
diff --git a/config/routes/spree.rb b/config/routes/spree.rb
index 1fb8d9c1d0..fc0de19a10 100644
--- a/config/routes/spree.rb
+++ b/config/routes/spree.rb
@@ -136,7 +136,6 @@ Spree::Core::Engine.routes.draw do
end
resource :image_settings
- resources :trackers
resources :zones
resources :countries do
diff --git a/db/migrate/20200404083008_drop_trackers_table.rb b/db/migrate/20200404083008_drop_trackers_table.rb
new file mode 100644
index 0000000000..4dca8c7cfc
--- /dev/null
+++ b/db/migrate/20200404083008_drop_trackers_table.rb
@@ -0,0 +1,14 @@
+class DropTrackersTable < ActiveRecord::Migration
+ def up
+ drop_table :spree_trackers
+ end
+
+ def down
+ create_table :spree_trackers do |t|
+ t.string :environment
+ t.string :analytics_id
+ t.boolean :active, :default => true
+ t.timestamps
+ end
+ end
+end
diff --git a/db/migrate/20200404090436_remove_ga_cookies_preference.rb b/db/migrate/20200404090436_remove_ga_cookies_preference.rb
new file mode 100644
index 0000000000..c509b11e5e
--- /dev/null
+++ b/db/migrate/20200404090436_remove_ga_cookies_preference.rb
@@ -0,0 +1,13 @@
+class RemoveGaCookiesPreference < ActiveRecord::Migration
+ class Spree::Preference < ActiveRecord::Base; end
+
+ def up
+ Spree::Preference
+ .where( key: 'spree/app_configuration/cookies_policy_ga_section')
+ .destroy_all
+ end
+
+ def down
+ # If this preference is re-added to the code, the DB entry will be regenerated
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 2d1980fcca..b00e0bf89e 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -12,7 +12,6 @@
# It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20200406085833) do
-
create_table "adjustment_metadata", :force => true do |t|
t.integer "adjustment_id"
t.integer "enterprise_id"
@@ -1011,14 +1010,6 @@ ActiveRecord::Schema.define(:version => 20200406085833) do
add_index "spree_tokenized_permissions", ["permissable_id", "permissable_type"], :name => "index_tokenized_name_and_type"
- create_table "spree_trackers", :force => true do |t|
- t.string "environment"
- t.string "analytics_id"
- t.boolean "active", :default => true
- t.datetime "created_at", :null => false
- t.datetime "updated_at", :null => false
- end
-
create_table "spree_users", :force => true do |t|
t.string "encrypted_password"
t.string "password_salt"
diff --git a/engines/web/app/views/web/angular_templates/cookies_policy.html.haml b/engines/web/app/views/web/angular_templates/cookies_policy.html.haml
index 982ba89d53..4b00ac32f1 100644
--- a/engines/web/app/views/web/angular_templates/cookies_policy.html.haml
+++ b/engines/web/app/views/web/angular_templates/cookies_policy.html.haml
@@ -44,32 +44,20 @@
%p
= t 'legal.cookies_policy.essential_cookies_note'
-- if Spree::Config.cookies_policy_matomo_section || Spree::Config.cookies_policy_ga_section
+- if Spree::Config.cookies_policy_matomo_section
%h2
= t 'legal.cookies_policy.statistics_cookies'
%p
= t 'legal.cookies_policy.statistics_cookies_desc'
-
- - if Spree::Config.cookies_policy_ga_section
- %p
- = t 'legal.cookies_policy.statistics_cookies_analytics_desc_html'
- - if Spree::Config.cookies_policy_matomo_section
- %p
- = t 'legal.cookies_policy.statistics_cookies_matomo_desc_html'
+ %p
+ = t 'legal.cookies_policy.statistics_cookies_matomo_desc_html'
%table{ng: { controller:"CookiesPolicyModalCtrl"}}
- - if Spree::Config.cookies_policy_ga_section
- = render_cookie_entry( "__utma", t( "legal.cookies_policy.cookie_analytics_utma_desc" ) )
- = render_cookie_entry( "__utmt", t( "legal.cookies_policy.cookie_analytics_utmt_desc" ) )
- = render_cookie_entry( "__utmb", t( "legal.cookies_policy.cookie_analytics_utmb_desc" ) )
- = render_cookie_entry( "__utmc", t( "legal.cookies_policy.cookie_analytics_utmc_desc" ) )
- = render_cookie_entry( "__utmz", t( "legal.cookies_policy.cookie_analytics_utmz_desc" ) )
- - if Spree::Config.cookies_policy_matomo_section
- = render_cookie_entry( "_pk_ref, _pk_cvar, _pk_id and _pk_ses", t( "legal.cookies_policy.cookie_matomo_basics_desc" ) )
- = render_cookie_entry( "_pk_hsr, _pk_cvar, _pk_id and _pk_ses", t( "legal.cookies_policy.cookie_matomo_heatmap_desc" ) )
- = render_cookie_entry( "piwik_ignore, _pk_cvar, _pk_id and _pk_ses", t( "legal.cookies_policy.cookie_matomo_ignore_desc" ) )
+ = render_cookie_entry( "_pk_ref, _pk_cvar, _pk_id and _pk_ses", t( "legal.cookies_policy.cookie_matomo_basics_desc" ) )
+ = render_cookie_entry( "_pk_hsr, _pk_cvar, _pk_id and _pk_ses", t( "legal.cookies_policy.cookie_matomo_heatmap_desc" ) )
+ = render_cookie_entry( "piwik_ignore, _pk_cvar, _pk_id and _pk_ses", t( "legal.cookies_policy.cookie_matomo_ignore_desc" ) )
- - if Spree::Config.cookies_policy_matomo_section && Spree::Config.matomo_url.present?
+ - if Spree::Config.matomo_url.present?
%p
= t 'legal.cookies_policy.statistics_cookies_matomo_optout'
%p