diff --git a/app/code/Magento/GoogleAnalytics/Block/Ga.php b/app/code/Magento/GoogleAnalytics/Block/Ga.php
index cb1cb1c3bdd24..bf5c2e594a038 100644
--- a/app/code/Magento/GoogleAnalytics/Block/Ga.php
+++ b/app/code/Magento/GoogleAnalytics/Block/Ga.php
@@ -80,8 +80,13 @@ public function getPageTrackingCode($accountId)
$optPageURL = ", '" . $this->escapeHtmlAttr($pageName, false) . "'";
}
+ $anonymizeIp = "";
+ if ($this->_googleAnalyticsData->isAnonymizedIpActive()) {
+ $anonymizeIp = "\nga('set', 'anonymizeIp', true);";
+ }
+
return "\nga('create', '" . $this->escapeHtmlAttr($accountId, false)
- . ", 'auto');\nga('send', 'pageview'{$optPageURL});\n";
+ . ", 'auto');{$anonymizeIp}\nga('send', 'pageview'{$optPageURL});\n";
}
/**
@@ -105,6 +110,7 @@ public function getOrdersTrackingCode()
$result = [];
$result[] = "ga('require', 'ec', 'ec.js');";
+
foreach ($collection as $order) {
if ($order->getIsVirtual()) {
$address = $order->getBillingAddress();
diff --git a/app/code/Magento/GoogleAnalytics/Helper/Data.php b/app/code/Magento/GoogleAnalytics/Helper/Data.php
index fcf1f4c3f0615..df3a53f4aa003 100644
--- a/app/code/Magento/GoogleAnalytics/Helper/Data.php
+++ b/app/code/Magento/GoogleAnalytics/Helper/Data.php
@@ -23,6 +23,8 @@ class Data extends \Magento\Framework\App\Helper\AbstractHelper
const XML_PATH_ACCOUNT = 'google/analytics/account';
+ const XML_PATH_ANONYMIZE = 'google/analytics/anonymize';
+
/**
* Whether GA is ready to use
*
@@ -34,4 +36,16 @@ public function isGoogleAnalyticsAvailable($store = null)
$accountId = $this->scopeConfig->getValue(self::XML_PATH_ACCOUNT, \Magento\Store\Model\ScopeInterface::SCOPE_STORE, $store);
return $accountId && $this->scopeConfig->isSetFlag(self::XML_PATH_ACTIVE, \Magento\Store\Model\ScopeInterface::SCOPE_STORE, $store);
}
+
+ /**
+ * Whether anonymized IPs are active
+ *
+ * @param null|string|bool|int|Store $store
+ * @return bool
+ */
+ public function isAnonymizedIpActive($store = null) {
+ $anonymize = $this->scopeConfig->getValue(self::XML_PATH_ANONYMIZE, \Magento\Store\Model\ScopeInterface::SCOPE_STORE, $store);
+ return $anonymize;
+ }
+
}
diff --git a/app/code/Magento/GoogleAnalytics/etc/adminhtml/system.xml b/app/code/Magento/GoogleAnalytics/etc/adminhtml/system.xml
index 1238ab525e1a4..97cfc4f80c781 100644
--- a/app/code/Magento/GoogleAnalytics/etc/adminhtml/system.xml
+++ b/app/code/Magento/GoogleAnalytics/etc/adminhtml/system.xml
@@ -23,6 +23,14 @@
1
+
+
+
+ Magento\Config\Model\Config\Source\Yesno
+
+ 1
+
+