|
6 | 6 | @await Component.InvokeAsync("StoreScope") |
7 | 7 | @{ |
8 | 8 | //default values |
9 | | - var googleAnalytics_trackingScript = Html.Raw(System.Text.Encodings.Web.JavaScriptEncoder.Default.Encode("<!-- Google code for Analytics tracking -->" + "\r\n" + |
10 | | - "<script type=\"text/javascript\">" + "\r\n" + |
11 | | - "var _gaq = _gaq || [];" + "\r\n" + |
12 | | - "_gaq.push(['_setAccount', '{GOOGLEID}']);" + "\r\n" + |
13 | | - "_gaq.push(['_trackPageview']);" + "\r\n" + |
14 | | - "{ECOMMERCE}" + "\r\n" + |
15 | | - "(function() {" + "\r\n" + |
16 | | - "var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;" + "\r\n" + |
17 | | - "ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';" + "\r\n" + |
18 | | - "var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);" + "\r\n" + |
19 | | - "})();" + "\r\n" + |
20 | | - "</script>")); |
21 | | - var googleAnalytics_EcommerceScript = Html.Raw(System.Text.Encodings.Web.JavaScriptEncoder.Default.Encode("_gaq.push(['_addTrans', '{ORDERID}', '{SITE}', '{TOTAL}', '{TAX}', '{SHIP}', '{CITY}', '{STATEPROVINCE}', '{COUNTRY}']);" + "\r\n" + |
22 | | - "{DETAILS}" + "\r\n" + |
23 | | - "_gaq.push(['_trackTrans']); ")); |
24 | | - var googleAnalytics_EcommerceDetailScript = Html.Raw(System.Text.Encodings.Web.JavaScriptEncoder.Default.Encode("_gaq.push(['_addItem', '{ORDERID}', '{PRODUCTSKU}', '{PRODUCTNAME}', '{CATEGORYNAME}', '{UNITPRICE}', '{QUANTITY}' ]); ")); |
25 | | - |
26 | | - var universalAnalytics_trackingScript = Html.Raw(System.Text.Encodings.Web.JavaScriptEncoder.Default.Encode("<!-- Google code for Analytics tracking -->" + "\r\n" + |
27 | | - "<script>" + "\r\n" + |
28 | | - "(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){" + "\r\n" + |
29 | | - "(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o)," + "\r\n" + |
30 | | - "m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)" + "\r\n" + |
31 | | - "})(window,document,'script','//www.google-analytics.com/analytics.js','ga');" + "\r\n" + |
32 | | - "ga('create', '{GOOGLEID}', 'auto');" + "\r\n" + |
33 | | - "ga('send', 'pageview');" + "\r\n" + |
34 | | - "{ECOMMERCE}" + "\r\n" + |
35 | | - "</script>")); |
36 | | - var universalAnalytics_EcommerceScript = Html.Raw(System.Text.Encodings.Web.JavaScriptEncoder.Default.Encode("ga('require', 'ecommerce', 'ecommerce.js');" + "\r\n" + |
37 | | - "ga('ecommerce:addTransaction', {" + "\r\n" + |
38 | | - "'id': '{ORDERID}'," + "\r\n" + |
39 | | - "'affiliation': '{SITE}'," + "\r\n" + |
40 | | - "'revenue': '{TOTAL}'," + "\r\n" + |
41 | | - "'shipping': '{SHIP}'," + "\r\n" + |
42 | | - "'tax': '{TAX}'" + "\r\n" + |
43 | | - "});" + "\r\n" + |
44 | | - "{DETAILS} " + "\r\n" + |
45 | | - "ga('ecommerce:send');")); |
46 | | - var universalAnalytics_EcommerceDetailScript = Html.Raw(System.Text.Encodings.Web.JavaScriptEncoder.Default.Encode("ga('ecommerce:addItem', {" + "\r\n" + |
47 | | - "'id': '{ORDERID}'," + "\r\n" + |
48 | | - "'name': '{PRODUCTNAME}'," + "\r\n" + |
49 | | - "'sku': '{PRODUCTSKU}'," + "\r\n" + |
50 | | - "'category': '{CATEGORYNAME}'," + "\r\n" + |
51 | | - "'price': '{UNITPRICE}'," + "\r\n" + |
52 | | - "'quantity': '{QUANTITY}'" + "\r\n" + |
53 | | - "});")); |
| 9 | + var googleAnalytics_trackingScript = Html.Raw(System.Text.Encodings.Web.JavaScriptEncoder.Default.Encode(@"<!-- Google tag (gtag.js) --> |
| 10 | + <script async src='https://www.googletagmanager.com/gtag/js?id={GOOGLEID}'></script> |
| 11 | + <script> |
| 12 | + window.dataLayer = window.dataLayer || []; |
| 13 | + function gtag(){dataLayer.push(arguments);} |
| 14 | + gtag('js', new Date()); |
| 15 | + gtag('config', '{GOOGLEID}'); |
| 16 | + {ECOMMERCE} |
| 17 | + </script> |
| 18 | + ")); |
| 19 | + var googleAnalytics_EcommerceScript = Html.Raw(System.Text.Encodings.Web.JavaScriptEncoder.Default.Encode(@"gtag('event', 'purchase', {transaction_id: '{ORDERID}', value: {TOTAL}, tax: {TAX}, shipping: {SHIP}, currency: '{CURRENCY}', city: '{CITY}', state: '{STATEPROVINCE}', country: '{COUNTRY}', items: [{DETAILS}]});")); |
| 20 | + var googleAnalytics_EcommerceDetailScript = Html.Raw(System.Text.Encodings.Web.JavaScriptEncoder.Default.Encode(@"{ item_id: '{PRODUCTID}', item_name: '{PRODUCTNAME}', item_category: '{CATEGORYNAME}', price: {UNITPRICE}, quantity: {QUANTITY} }, ")); |
| 21 | + |
54 | 22 | } |
55 | 23 | <script> |
56 | 24 | $(document).ready(function () { |
57 | | - $("#pre-configure-google-analytics").click(preConfigureGoogleAnalytic); |
58 | | - $("#pre-configure-universal-analytics").click(preConfigureUniversalAnalytic); |
| 25 | + $("#pre-configure-google-analytics").click(preConfigureGoogleAnalytic); |
59 | 26 | }); |
60 | 27 |
|
61 | 28 | function preConfigureGoogleAnalytic() { |
|
64 | 31 | $('#@Html.IdFor(model => model.EcommerceDetailScript)').val('@googleAnalytics_EcommerceDetailScript'); |
65 | 32 | } |
66 | 33 |
|
67 | | - function preConfigureUniversalAnalytic() { |
68 | | - $('#@Html.IdFor(model => model.TrackingScript)').val('@universalAnalytics_trackingScript'); |
69 | | - $('#@Html.IdFor(model => model.EcommerceScript)').val('@universalAnalytics_EcommerceScript'); |
70 | | - $('#@Html.IdFor(model => model.EcommerceDetailScript)').val('@universalAnalytics_EcommerceDetailScript'); |
71 | | - } |
72 | 34 | </script> |
73 | 35 | <form asp-controller="WidgetsGoogleAnalytics" asp-action="Configure" method="post"> |
74 | 36 |
|
|
93 | 55 | <li>Copy the Tracking ID into the 'ID' box below</li> |
94 | 56 | <li>Click the 'Save' button below and Google Analytics will be integrated into your store</li> |
95 | 57 | </ul> |
96 | | - <p> |
97 | | - If you would like to switch between Google Analytics (used by default) and Universal Analytics, then please use the buttons below: |
98 | | - </p> |
99 | 58 | <input type="button" id="pre-configure-google-analytics" class="k-button" value="Pre-configure Google Analytics" /> |
100 | | - <input type="button" id="pre-configure-universal-analytics" class="k-button" value="Pre-configure Universal Analytics" /> |
101 | 59 | </div> |
102 | 60 | </div> |
103 | 61 | <div class="form-group"> |
|
0 commit comments