spree_analytics_trackers 1.1.0 → 2.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +2 -0
  3. data/.travis.yml +30 -36
  4. data/Appraisals +3 -16
  5. data/LICENSE +1 -1
  6. data/README.md +7 -3
  7. data/app/assets/javascripts/spree/frontend/add_to_cart_analytics.js +46 -0
  8. data/app/controllers/spree_analytics_trackers/store_controller_decorator.rb +6 -3
  9. data/app/helpers/spree/trackers_helper.rb +58 -20
  10. data/app/overrides/add_cart_viewed_to_orders_edit.rb +1 -1
  11. data/app/overrides/add_checkout_step_viewed_to_checkout_edit.rb +11 -3
  12. data/app/overrides/add_google_analytics_page_view_to_spree_application.rb +18 -0
  13. data/app/overrides/add_google_analytics_to_spree_application.rb +11 -3
  14. data/app/overrides/add_google_purchase_to_orders_show.rb +1 -1
  15. data/app/overrides/add_product_list_filtered_to_taxons_show.rb +1 -1
  16. data/app/overrides/add_product_list_viewed_to_products_list.rb +1 -1
  17. data/app/overrides/add_product_viewed_to_products_show.rb +2 -2
  18. data/app/overrides/add_products_searched_to_products_list.rb +2 -2
  19. data/app/overrides/add_segment_initializer_to_layout.rb +10 -2
  20. data/app/overrides/add_segment_page_viewed_to_layout.rb +18 -0
  21. data/app/presenters/spree_analytics_trackers/base_presenter.rb +14 -0
  22. data/app/presenters/spree_analytics_trackers/segment/order_presenter.rb +32 -0
  23. data/app/presenters/spree_analytics_trackers/segment/product_presenter.rb +40 -0
  24. data/app/views/spree/shared/trackers/google_analytics/_checkout_step_viewed.js.erb +21 -0
  25. data/app/views/spree/shared/trackers/google_analytics/_initializer.js.erb +11 -0
  26. data/app/views/spree/shared/trackers/google_analytics/_page_viewed.js.erb +13 -0
  27. data/app/views/spree/shared/trackers/google_analytics/_purchase.js.erb +19 -0
  28. data/app/views/spree/shared/trackers/segment/_cart_viewed.js.erb +21 -21
  29. data/app/views/spree/shared/trackers/segment/_checkout_step_viewed.js.erb +14 -12
  30. data/app/views/spree/shared/trackers/segment/_initializer.js.erb +1 -2
  31. data/app/views/spree/shared/trackers/segment/_order_complete.js.erb +3 -43
  32. data/app/views/spree/shared/trackers/segment/_page_viewed.js.erb +7 -0
  33. data/app/views/spree/shared/trackers/segment/_product_list_filtered.js.erb +7 -18
  34. data/app/views/spree/shared/trackers/segment/_product_list_viewed.js.erb +16 -21
  35. data/app/views/spree/shared/trackers/segment/_product_viewed.js.erb +10 -6
  36. data/app/views/spree/shared/trackers/segment/_products_searched.js.erb +1 -1
  37. data/config/locales/en.yml +0 -2
  38. data/config/locales/zh-TW.yml +19 -0
  39. data/gemfiles/{spree_3_5.gemfile → spree_4_1.gemfile} +2 -2
  40. data/gemfiles/spree_master.gemfile +0 -1
  41. data/lib/generators/spree_analytics_trackers/install/install_generator.rb +7 -0
  42. data/lib/spree_analytics_trackers.rb +1 -0
  43. data/lib/spree_analytics_trackers/version.rb +4 -3
  44. data/spec/features/admin/configuration/analytics_tracker_spec.rb +3 -1
  45. data/spec/features/products_spec.rb +315 -0
  46. data/spec/fixtures/thinking-cat.jpg +0 -0
  47. data/spec/presenters/spree_analytics_trackers/segment/order_presenter_spec.rb +34 -0
  48. data/spec/spec_helper.rb +7 -82
  49. data/spec/support/custom_products.rb +26 -0
  50. data/spree_analytics_trackers.gemspec +3 -17
  51. metadata +36 -220
  52. data/app/overrides/add_google_checkout_to_checkout_edit.rb +0 -9
  53. data/app/overrides/add_product_added_to_orders_edit.rb +0 -10
  54. data/app/views/spree/shared/_google_add_items.html.erb +0 -13
  55. data/app/views/spree/shared/_google_analytics.html.erb +0 -18
  56. data/app/views/spree/shared/_google_checkout.html.erb +0 -14
  57. data/app/views/spree/shared/_google_purchase.html.erb +0 -19
  58. data/app/views/spree/shared/trackers/segment/_product_added.js.erb +0 -9
  59. data/gemfiles/spree_3_7.gemfile +0 -10
  60. data/gemfiles/spree_4_0.gemfile +0 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c6f1b28e6012acef941df826e5815966db364756eee0ed406993e7ffcfd2f3c8
4
- data.tar.gz: a068b460859953446838873b5d89b09099e5567ab06cf65b3a2e7ebfaae4fd6e
3
+ metadata.gz: 6428462a2ec00ca1334068af805efecf38b751293f86623e818aca577cb7df14
4
+ data.tar.gz: 1bd89f20f2f4d945ecafa7b843dbcb2a167811858cc7f6e2ab16a3fb59980d27
5
5
  SHA512:
6
- metadata.gz: 8179531fa524a7e17aed73f743eeafd961be9d583c54a521b7a9bf1b5a344527e1bb2a447d763ef274bea91cedc6219e5305bc4b987c837d50d3b5ca2e9e1594
7
- data.tar.gz: fc3849ab2602836c69f914e2a502650ff67ba842a95e2a6e3f9e0c4622b47cb4b77b1e8a70c03958967954a3fa77969f7bdb0bcbf8f83e3ecdc8c723bd9e3545
6
+ metadata.gz: c42aed4a692ede105d5b39335baa86a02aab94168186a6221dbce0edcb452d15eec696556639834d30c7dfefdca4408c3a9c116f6ea14f171f8520da0953b35e
7
+ data.tar.gz: d38032fb537f05202f967c7777e30d2ed2f696b2733a39bd20fe560c9ec2e4024f9588dcd9b0a4e1d9ddd30aa2d66712d6aced167e0e7b8948f732529125dc67
@@ -0,0 +1,2 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.5
@@ -1,50 +1,44 @@
1
- sudo: required
2
- dist: trusty
1
+ os: linux
2
+ dist: bionic
3
+
4
+ addons:
5
+ apt:
6
+ sources:
7
+ - google-chrome
8
+ packages:
9
+ - google-chrome-stable
10
+
11
+ services:
12
+ - mysql
13
+ - postgresql
3
14
 
4
15
  language: ruby
5
16
 
17
+ rvm:
18
+ - 2.5
19
+ - 2.6
20
+
6
21
  env:
7
- - DB=postgres
8
22
  - DB=mysql
9
-
10
- addons:
11
- chrome: stable
12
- postgresql: 9.4
23
+ - DB=postgres
13
24
 
14
25
  gemfile:
15
- - gemfiles/spree_3_5.gemfile
16
- - gemfiles/spree_3_7.gemfile
17
- - gemfiles/spree_4_0.gemfile
26
+ - gemfiles/spree_4_1.gemfile
18
27
  - gemfiles/spree_master.gemfile
19
28
 
20
- script:
21
- - bundle exec rake test_app
22
- - bundle exec rake spec
23
-
24
- rvm:
25
- - 2.5.1
26
- - 2.4.4
27
- - 2.3.8
28
-
29
- matrix:
29
+ jobs:
30
30
  allow_failures:
31
31
  - gemfile: gemfiles/spree_master.gemfile
32
- exclude:
33
- - rvm: 2.3.8
34
- gemfile: gemfiles/spree_4_0.gemfile
35
- - rvm: 2.4.4
36
- gemfile: gemfiles/spree_4_0.gemfile
37
- - rvm: 2.3.8
38
- gemfile: gemfiles/spree_master.gemfile
39
- - rvm: 2.4.4
40
- gemfile: gemfiles/spree_master.gemfile
41
- - rvm: 2.5.1
42
- gemfile: gemfiles/spree_3_5.gemfile
43
32
 
44
33
  before_install:
45
34
  - mysql -u root -e "GRANT ALL ON *.* TO 'travis'@'%';"
46
- - wget -N https://chromedriver.storage.googleapis.com/2.35/chromedriver_linux64.zip -P ~/
47
- - unzip ~/chromedriver_linux64.zip -d ~/
48
- - rm ~/chromedriver_linux64.zip
49
- - sudo mv -f ~/chromedriver /usr/local/share/
50
- - sudo chmod +x /usr/local/share/chromedriver
35
+
36
+ before_script:
37
+ - CHROME_MAIN_VERSION=`google-chrome-stable --version | sed -E 's/(^Google Chrome |\.[0-9]+ )//g'`
38
+ - CHROMEDRIVER_VERSION=`curl -s "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_$CHROME_MAIN_VERSION"`
39
+ - curl "https://chromedriver.storage.googleapis.com/${CHROMEDRIVER_VERSION}/chromedriver_linux64.zip" -O
40
+ - unzip chromedriver_linux64.zip -d ~/bin
41
+
42
+ script:
43
+ - bundle exec rake test_app
44
+ - bundle exec rake spec
data/Appraisals CHANGED
@@ -1,19 +1,6 @@
1
- appraise 'spree-3-5' do
2
- gem 'spree', '~> 3.5.0'
3
- gem 'spree_auth_devise', '~> 3.3.0'
4
- gem 'rails-controller-testing'
5
- end
6
-
7
- appraise 'spree-3-7' do
8
- gem 'spree', '~> 3.7.0'
9
- gem 'spree_auth_devise', '~> 3.5.0'
10
- gem 'rails-controller-testing'
11
- gem 'sass-rails'
12
- end
13
-
14
- appraise 'spree-4-0' do
15
- gem 'spree', '~> 4.0.0.beta'
16
- gem 'spree_auth_devise', '~> 4.0.0.rc2'
1
+ appraise 'spree-4-1' do
2
+ gem 'spree', '~> 4.1.0'
3
+ gem 'spree_auth_devise', '~> 4.1.0'
17
4
  gem 'rails-controller-testing'
18
5
  end
19
6
 
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2017-2018 Spark Solutions Sp. z o.o.
1
+ Copyright (c) 2017-2020 Spark Solutions Sp. z o.o.
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without modification,
data/README.md CHANGED
@@ -6,6 +6,7 @@ This extensions adds support for [Google Analytics Enhanced Ecommerce](https://d
6
6
  and [Segment Ecommerce](https://segment.com/docs/spec/ecommerce/v2/) tracking to [Spree Commerce](https://spreecommerce.org) stores.
7
7
 
8
8
  Via Segment.com you can plug-in also a lot of additional vendors and services like:
9
+
9
10
  * Mixpanel
10
11
  * Kissmetrics
11
12
  * Google Tag Manager
@@ -18,16 +19,19 @@ No additional development required.
18
19
  ## Installation
19
20
 
20
21
  1. Add this extension to your Gemfile with this line:
22
+
21
23
  ```ruby
22
- gem 'spree_analytics_trackers', '~> 1.0'
24
+ gem 'spree_analytics_trackers', '~> 2.0.0.rc1'
23
25
  ```
24
26
 
25
27
  2. Install the gem using Bundler:
28
+
26
29
  ```ruby
27
30
  bundle install
28
31
  ```
29
32
 
30
33
  3. Copy & run migrations
34
+
31
35
  ```ruby
32
36
  bundle exec rails g spree_analytics_trackers:install
33
37
  ```
@@ -52,10 +56,9 @@ Simply add this require statement to your spec_helper:
52
56
  require 'spree_analytics_trackers/factories'
53
57
  ```
54
58
 
55
-
56
59
  ## License
57
60
 
58
- Spree Analytics Trackers is copyright © 2017-2018
61
+ Spree Analytics Trackers is copyright © 2017-2020
59
62
  [Spark Solutions Sp. z o.o.][spark]. It is free software,
60
63
  and may be redistributed under the terms specified in the
61
64
  [LICENCE](LICENSE) file.
@@ -63,6 +66,7 @@ and may be redistributed under the terms specified in the
63
66
  [LICENSE]: https://github.com/spree-contrib/spree_analytics_trackers/blob/master/LICENSE
64
67
 
65
68
  ## About Spark Solutions
69
+
66
70
  [![Spark Solutions](http://sparksolutions.co/wp-content/uploads/2015/01/logo-ss-tr-221x100.png)][spark]
67
71
 
68
72
  Spree Analytics Trackers is maintained by [Spark Solutions Sp. z o.o.](http://sparksolutions.co?utm_source=github).
@@ -0,0 +1,46 @@
1
+ //= require spree/frontend
2
+
3
+ function gaAddToCart(variant, quantity) {
4
+ gtag(
5
+ 'event',
6
+ 'add_to_cart',
7
+ {
8
+ id: variant.sku,
9
+ name: variant.name,
10
+ category: variant.category,
11
+ variant: variant.options_text,
12
+ brand: variant.brand,
13
+ price: variant.price,
14
+ quantity: quantity
15
+ }
16
+ );
17
+ }
18
+
19
+ function segmentAddtoCart(variant, quantity, currency) {
20
+ analytics.track('Product Added', {
21
+ product_id: variant.id,
22
+ sku: variant.sku,
23
+ category: variant.category,
24
+ name: variant.name,
25
+ brand: variant.brand,
26
+ price: variant.price,
27
+ currency: currency,
28
+ quantity: quantity
29
+ });
30
+ }
31
+
32
+ Spree.ready(function(){
33
+ $('body').on('product_add_to_cart', function(event) {
34
+ var variant = event.variant
35
+ var quantity = event.quantity_increment
36
+ var currency = event.cart.currency
37
+
38
+ if (typeof gtag !== 'undefined') {
39
+ gaAddToCart(variant, quantity)
40
+ }
41
+
42
+ if (typeof analytics !== 'undefined') {
43
+ segmentAddtoCart(variant, quantity, currency)
44
+ }
45
+ })
46
+ });
@@ -1,11 +1,14 @@
1
1
  module SpreeAnalyticsTrackers
2
2
  module StoreControllerDecorator
3
- def self.prepended(base)
4
- base.helper Spree::TrackersHelper
3
+ def self.included(base)
4
+ base.include ::Spree::BaseHelper
5
+ base.include ::Spree::TrackersHelper
6
+
7
+ base.helper_method *::Spree::TrackersHelper.public_instance_methods
5
8
  end
6
9
  end
7
10
  end
8
11
 
9
12
  if defined?(Spree::StoreController)
10
- ::Spree::StoreController.prepend(::SpreeAnalyticsTrackers::StoreControllerDecorator)
13
+ ::Spree::StoreController.include(::SpreeAnalyticsTrackers::StoreControllerDecorator)
11
14
  end
@@ -1,32 +1,70 @@
1
1
  module Spree
2
2
  module TrackersHelper
3
3
  def product_for_segment(product, optional = {})
4
- {
5
- product_id: product.id,
6
- sku: product.sku,
7
- category: product.category.try(:name),
8
- name: product.name,
9
- brand: product.brand.try(:name),
10
- price: product.price.to_f,
11
- currency: product.currency,
12
- url: product_url(product)
13
- }.tap do |hash|
14
- hash[:image_url] = product_for_segment_image_url(hash, optional)
4
+ cache_key = [
5
+ 'spree-segment-product',
6
+ I18n.locale,
7
+ current_currency,
8
+ product.cache_key_with_version
9
+ ].compact.join('/')
10
+
11
+ product_hash = Rails.cache.fetch(cache_key) do
12
+ {
13
+ product_id: product.id,
14
+ sku: product.sku,
15
+ category: product.category&.name,
16
+ name: product.name,
17
+ brand: product.brand&.name,
18
+ price: product.price_in(current_currency).amount&.to_f,
19
+ currency: current_currency,
20
+ url: spree.product_url(product)
21
+ }
22
+ end
23
+
24
+ product_hash.tap do |hash|
25
+ hash[:image_url] = default_image_for_product_or_variant(product)
15
26
  end.merge(optional).to_json.html_safe
16
27
  end
17
28
 
18
- private
29
+ def ga_line_item(line_item)
30
+ variant = line_item.variant
31
+
32
+ cache_key = [
33
+ 'spree-ga-line-item',
34
+ I18n.locale,
35
+ current_currency,
36
+ line_item.cache_key_with_version,
37
+ variant.cache_key_with_version
38
+ ].compact.join('/')
39
+
40
+ Rails.cache.fetch(cache_key) do
41
+ product = line_item.product
42
+ {
43
+ id: variant.sku,
44
+ name: variant.name,
45
+ category: product.category&.name,
46
+ variant: variant.options_text,
47
+ brand: product.brand&.name,
48
+ quantity: line_item.quantity,
49
+ price: variant.price_in(current_currency).amount&.to_f
50
+ }.to_json.html_safe
51
+ end
52
+ end
53
+
54
+ def filtering_param_present?(param)
55
+ params.key?(param) && params.fetch(param).present?
56
+ end
19
57
 
20
- # This method returns either asset_url (Paperclip) or rails_blob_path (ActiveStorage) to return the specified image(s)
21
- def product_for_segment_image_url(hash, optional)
22
- return unless optional[:image]
58
+ def any_filtering_params?
59
+ filtering_params.any? { |p| filtering_param_present?(p) }
60
+ end
23
61
 
24
- # Spree 4.0 dropped Paperclip support
25
- if Gem.loaded_specs['spree_core'].version >= Gem::Version.create('4.0.0.alpha') || (defined?(ActiveStorage) && !Rails.application.config.use_paperclip)
26
- request.base_url + Rails.application.routes.url_helpers.rails_blob_path(optional.delete(:image).attachment, only_path: true)
27
- else
28
- request.base_url + asset_url(optional.delete(:image).attachment)
62
+ def filtering_params_with_values
63
+ params_with_values = {}
64
+ filtering_params.each do |param|
65
+ params_with_values[param] = params.fetch(param) if filtering_param_present?(param)
29
66
  end
67
+ params_with_values
30
68
  end
31
69
  end
32
70
  end
@@ -3,7 +3,7 @@ unless spree_version >= Gem::Version.create('3.4.0') && spree_version < Gem::Ver
3
3
  Deface::Override.new(
4
4
  virtual_path: 'spree/orders/edit',
5
5
  name: 'add_cart_viewed_to_orders_edit',
6
- insert_top: "[data-hook='cart_container']",
6
+ insert_top: '[data-hook="cart_container"]',
7
7
  partial: 'spree/shared/trackers/segment/cart_viewed.js',
8
8
  original: 'e0a3dcdf759c4ec9fad085cd8a5360c8d68167f5'
9
9
  )
@@ -2,9 +2,17 @@ spree_version = Gem.loaded_specs['spree_core'].version
2
2
  unless spree_version >= Gem::Version.create('3.4.0') && spree_version < Gem::Version.create('3.5.0')
3
3
  Deface::Override.new(
4
4
  virtual_path: 'spree/checkout/edit',
5
- name: 'add_checkout_step_viewed_to_checkout_edit',
6
- insert_bottom: "[data-hook='checkout_summary_box']",
5
+ name: 'add_segment_checkout_step_viewed_to_checkout_edit',
6
+ insert_after: '[data-hook="checkout_content"]',
7
7
  partial: 'spree/shared/trackers/segment/checkout_step_viewed.js',
8
- original: 'f7b787e3485b705d0373e248361fcb590a45478e'
8
+ original: '806d2120a1ca1050fb093962fee10363c0944b0a'
9
+ )
10
+
11
+ Deface::Override.new(
12
+ virtual_path: 'spree/checkout/edit',
13
+ name: 'add_ga_checkout_step_viewed_to_checkout_edit',
14
+ insert_after: '[data-hook="checkout_content"]',
15
+ partial: 'spree/shared/trackers/google_analytics/checkout_step_viewed.js',
16
+ original: '0ac5c18a2db215bf8ba30470a0e5d69e00d0313a'
9
17
  )
10
18
  end
@@ -0,0 +1,18 @@
1
+ spree_version = Gem.loaded_specs['spree_core'].version
2
+ unless spree_version >= Gem::Version.create('3.3.0') && spree_version < Gem::Version.create('3.5.0') && spree_version != Gem::Version.create('3.5.0.alpha')
3
+ Deface::Override.new(
4
+ virtual_path: 'spree/layouts/spree_application',
5
+ name: 'add_google_analytics_page_viewed_to_spree_application',
6
+ insert_bottom: "[data-hook='body']",
7
+ partial: 'spree/shared/trackers/google_analytics/page_viewed.js',
8
+ original: '6841b819babbe4df1f03d0bc8e05dc81bf0d45ad'
9
+ )
10
+
11
+ Deface::Override.new(
12
+ virtual_path: 'spree/layouts/checkout',
13
+ name: 'add_google_analytics_page_viewed_to_spree_checkout',
14
+ insert_bottom: "[data-hook='body']",
15
+ partial: 'spree/shared/trackers/google_analytics/page_viewed.js',
16
+ original: '6841b819babbe4df1f03d0bc8e05dc81bf0d45ad'
17
+ )
18
+ end
@@ -1,9 +1,17 @@
1
1
  if Gem.loaded_specs['spree_core'].version >= Gem::Version.create('3.5.0.alpha')
2
2
  Deface::Override.new(
3
3
  virtual_path: 'spree/layouts/spree_application',
4
- name: 'add_google_analytics_to_spree_application',
5
- insert_top: "[data-hook='body']",
6
- partial: 'spree/shared/google_analytics',
4
+ name: 'add_google_analytics_initializer_to_spree_application',
5
+ insert_top: '[data-hook="inside_head"]',
6
+ partial: 'spree/shared/trackers/google_analytics/initializer.js',
7
7
  original: 'cfa30a2831d9a41394c03229cd28b3c7eee69585'
8
8
  )
9
+
10
+ Deface::Override.new(
11
+ virtual_path: 'spree/layouts/checkout',
12
+ name: 'add_google_analytics_initializer_to_spree_checkout',
13
+ insert_top: '[data-hook="inside_head"]',
14
+ partial: 'spree/shared/trackers/google_analytics/initializer.js',
15
+ original: 'ca3d46a134b93856baf937cf2e473da66d9d8efc'
16
+ )
9
17
  end
@@ -3,7 +3,7 @@ if Gem.loaded_specs['spree_core'].version >= Gem::Version.create('3.5.0')
3
3
  virtual_path: 'spree/orders/show',
4
4
  name: 'add_google_purchase_to_orders_show',
5
5
  insert_before: "#order_summary",
6
- partial: 'spree/shared/google_purchase',
6
+ partial: 'spree/shared/trackers/google_analytics/purchase.js',
7
7
  original: 'ac7f302922a3c1bb080095296ccc20e42bab2967'
8
8
  )
9
9
  end
@@ -1,7 +1,7 @@
1
1
  spree_version = Gem.loaded_specs['spree_core'].version
2
2
  unless spree_version >= Gem::Version.create('3.4.0') && spree_version < Gem::Version.create('3.5.0')
3
3
  Deface::Override.new(
4
- virtual_path: 'spree/taxons/show',
4
+ virtual_path: 'spree/taxons/_header',
5
5
  name: 'add_product_list_filtered_to_taxons_show',
6
6
  insert_before: ".taxon-title",
7
7
  original: '2d71d85f4cb141a6ff90264e48915493d6856e9b',
@@ -3,7 +3,7 @@ unless spree_version >= Gem::Version.create('3.4.0') && spree_version < Gem::Ver
3
3
  Deface::Override.new(
4
4
  virtual_path: 'spree/shared/_products',
5
5
  name: 'add_product_list_viewed_to_products_list',
6
- insert_before: "[data-hook='products_search_results_heading']",
6
+ insert_before: '[data-hook="homepage_products"]',
7
7
  partial: 'spree/shared/trackers/segment/product_list_viewed.js',
8
8
  original: '8b47dddca9dfaaacca3d462459c6c1ef06c09926'
9
9
  )
@@ -3,8 +3,8 @@ unless spree_version >= Gem::Version.create('3.4.0') && spree_version < Gem::Ver
3
3
  Deface::Override.new(
4
4
  virtual_path: 'spree/products/show',
5
5
  name: 'add_product_viewed_to_products_show',
6
- insert_before: "[data-hook='product_show']",
6
+ insert_bottom: '[data-hook="product_show"]',
7
7
  partial: 'spree/shared/trackers/segment/product_viewed.js',
8
- original: '5426c263ccfe477b270b55024abebc77cf951c91'
8
+ original: '5426c263ccfe477b270b55024abebc77cf951c91'
9
9
  )
10
10
  end