diff --git a/.gitignore b/.gitignore
index bae558e0e5b9aef88358c3ded5c7ab786d7849b1..94c3bf76a2bd17f5f27d25e40d5b204bef6a1182 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,7 @@
 /.metadata
 /.project
 /.settings
+/.vscode
 atlassian*
 /nbproject
 /robots.txt
diff --git a/app/code/Magento/GoogleAnalytics/Block/Ga.php b/app/code/Magento/GoogleAnalytics/Block/Ga.php
index cda0f198d011bce27f2d8dfad38d29b6db0f5a63..0afd6c51e967f58854ae3484a40ad8b713f28636 100644
--- a/app/code/Magento/GoogleAnalytics/Block/Ga.php
+++ b/app/code/Magento/GoogleAnalytics/Block/Ga.php
@@ -121,6 +121,7 @@ class Ga extends \Magento\Framework\View\Element\Template
         $result[] = "ga('require', 'ec', 'ec.js');";
 
         foreach ($collection as $order) {
+            $result[] = "ga('set', 'currencyCode', '" . $order->getOrderCurrencyCode() . "');";
             foreach ($order->getAllVisibleItems() as $item) {
                 $result[] = sprintf(
                     "ga('ec:addProduct', {
@@ -131,7 +132,7 @@ class Ga extends \Magento\Framework\View\Element\Template
                     });",
                     $this->escapeJs($item->getSku()),
                     $this->escapeJs($item->getName()),
-                    $item->getBasePrice(),
+                    $item->getPrice(),
                     $item->getQtyOrdered()
                 );
             }
@@ -146,9 +147,9 @@ class Ga extends \Magento\Framework\View\Element\Template
                 });",
                 $order->getIncrementId(),
                 $this->escapeJs($this->_storeManager->getStore()->getFrontendName()),
-                $order->getBaseGrandTotal(),
-                $order->getBaseTaxAmount(),
-                $order->getBaseShippingAmount()
+                $order->getGrandTotal(),
+                $order->getTaxAmount(),
+                $order->getShippingAmount()
             );
 
             $result[] = "ga('send', 'pageview');";
@@ -237,17 +238,18 @@ class Ga extends \Magento\Framework\View\Element\Template
                 $result['products'][] = [
                     'id' => $this->escapeJs($item->getSku()),
                     'name' =>  $this->escapeJs($item->getName()),
-                    'price' => $item->getBasePrice(),
+                    'price' => $item->getPrice(),
                     'quantity' => $item->getQtyOrdered(),
                 ];
             }
             $result['orders'][] = [
                 'id' =>  $order->getIncrementId(),
                 'affiliation' => $this->escapeJs($this->_storeManager->getStore()->getFrontendName()),
-                'revenue' => $order->getBaseGrandTotal(),
-                'tax' => $order->getBaseTaxAmount(),
-                'shipping' => $order->getBaseShippingAmount(),
+                'revenue' => $order->getGrandTotal(),
+                'tax' => $order->getTaxAmount(),
+                'shipping' => $order->getShippingAmount(),
             ];
+            $result['currency'] = $order->getOrderCurrencyCode();
         }
         return $result;
     }
diff --git a/app/code/Magento/GoogleAnalytics/Test/Unit/Block/GaTest.php b/app/code/Magento/GoogleAnalytics/Test/Unit/Block/GaTest.php
index df535946bbd32d50e7bc835dc73f98c3b476b02d..63a97b99c1e482d096fc97702aee05438b7c74e3 100644
--- a/app/code/Magento/GoogleAnalytics/Test/Unit/Block/GaTest.php
+++ b/app/code/Magento/GoogleAnalytics/Test/Unit/Block/GaTest.php
@@ -103,6 +103,7 @@ class GaTest extends \PHPUnit\Framework\TestCase
         $this->storeManagerMock->expects($this->once())->method('getStore')->willReturn($this->storeMock);
 
         $expectedCode = "ga('require', 'ec', 'ec.js');
+            ga('set', 'currencyCode', 'USD');
             ga('ec:addProduct', {
                                     'id': 'sku0',
                                     'name': 'testName0',
@@ -165,7 +166,8 @@ class GaTest extends \PHPUnit\Framework\TestCase
                     'price' => 0.00,
                     'quantity' => 1
                 ]
-            ]
+            ],
+            'currency' => 'USD'
         ];
 
         $this->gaBlock->setOrderIds([1, 2]);
@@ -202,7 +204,7 @@ class GaTest extends \PHPUnit\Framework\TestCase
                 ->getMock();
             $orderItemMock->expects($this->once())->method('getSku')->willReturn('sku' . $i);
             $orderItemMock->expects($this->once())->method('getName')->willReturn('testName' . $i);
-            $orderItemMock->expects($this->once())->method('getBasePrice')->willReturn($i . '.00');
+            $orderItemMock->expects($this->once())->method('getPrice')->willReturn($i . '.00');
             $orderItemMock->expects($this->once())->method('getQtyOrdered')->willReturn($i + 1);
             $orderItems[] = $orderItemMock;
         }
@@ -210,9 +212,10 @@ class GaTest extends \PHPUnit\Framework\TestCase
         $orderMock = $this->getMockBuilder(Order::class)->disableOriginalConstructor()->getMock();
         $orderMock->expects($this->once())->method('getIncrementId')->willReturn(100);
         $orderMock->expects($this->once())->method('getAllVisibleItems')->willReturn($orderItems);
-        $orderMock->expects($this->once())->method('getBaseGrandTotal')->willReturn(10);
-        $orderMock->expects($this->once())->method('getBaseTaxAmount')->willReturn(2);
-        $orderMock->expects($this->once())->method('getBaseShippingAmount')->willReturn($orderItemCount);
+        $orderMock->expects($this->once())->method('getGrandTotal')->willReturn(10);
+        $orderMock->expects($this->once())->method('getTaxAmount')->willReturn(2);
+        $orderMock->expects($this->once())->method('getShippingAmount')->willReturn($orderItemCount);
+        $orderMock->expects($this->once())->method('getOrderCurrencyCode')->willReturn('USD');
         return $orderMock;
     }
 
diff --git a/app/code/Magento/GoogleAnalytics/view/frontend/web/js/google-analytics.js b/app/code/Magento/GoogleAnalytics/view/frontend/web/js/google-analytics.js
index ab00f81410287ee15ff523da55e22270ffc71fb5..324881cdc502821ea4251d43bc0ef24abce95d1c 100644
--- a/app/code/Magento/GoogleAnalytics/view/frontend/web/js/google-analytics.js
+++ b/app/code/Magento/GoogleAnalytics/view/frontend/web/js/google-analytics.js
@@ -57,6 +57,9 @@ define([
             if (config.ordersTrackingData) {
                 ga('require', 'ec', 'ec.js');
 
+                //Set currency code
+                ga('set', 'currencyCode', config.ordersTrackingData.currency);
+
                 // Collect product data for GA
                 if (config.ordersTrackingData.products) {
                     $.each(config.ordersTrackingData.products, function (index, value) {