diff --git a/vendor/magento/module-google-analytics/Block/Ga.php b/vendor/magento/module-google-analytics/Block/Ga.php
index 0370174c0b7f..3be62a588efa 100644
--- a/vendor/magento/module-google-analytics/Block/Ga.php
+++ b/vendor/magento/module-google-analytics/Block/Ga.php
@@ -82,6 +82,7 @@ public function getPageName()
      * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/method-reference#set
      * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/method-reference#gaObjectMethods
      * @deprecated 100.2.0 please use getPageTrackingData method
+     * @see getPageTrackingData method
      */
     public function getPageTrackingCode($accountId)
     {
@@ -103,6 +104,7 @@ public function getPageTrackingCode($accountId)
      *
      * @return string|void
      * @deprecated 100.2.0 please use getOrdersTrackingData method
+     * @see getOrdersTrackingData method
      */
     public function getOrdersTrackingCode()
     {
@@ -120,17 +122,19 @@ public function getOrdersTrackingCode()
         foreach ($collection as $order) {
             $result[] = "ga('set', 'currencyCode', '" . $order->getOrderCurrencyCode() . "');";
             foreach ($order->getAllVisibleItems() as $item) {
+                $quantity = $item->getQtyOrdered() * 1;
+                $format = fmod($quantity, 1) !== 0.00 ? '%.2f' : '%d';
                 $result[] = sprintf(
                     "ga('ec:addProduct', {
                         'id': '%s',
                         'name': '%s',
-                        'price': '%s',
-                        'quantity': %s
+                        'price': %.2f,
+                        'quantity': $format
                     });",
                     $this->escapeJsQuote($item->getSku()),
                     $this->escapeJsQuote($item->getName()),
-                    $item->getPrice(),
-                    $item->getQtyOrdered()
+                    (float)$item->getPrice(),
+                    $quantity
                 );
             }
 
@@ -138,15 +142,15 @@ public function getOrdersTrackingCode()
                 "ga('ec:setAction', 'purchase', {
                     'id': '%s',
                     'affiliation': '%s',
-                    'revenue': '%s',
-                    'tax': '%s',
-                    'shipping': '%s'
+                    'revenue': %.2f,
+                    'tax': %.2f,
+                    'shipping': %.2f
                 });",
                 $order->getIncrementId(),
                 $this->escapeJsQuote($this->_storeManager->getStore()->getFrontendName()),
-                $order->getGrandTotal(),
-                $order->getTaxAmount(),
-                $order->getShippingAmount()
+                (float)$order->getGrandTotal(),
+                (float)$order->getTaxAmount(),
+                (float)$order->getShippingAmount(),
             );
 
             $result[] = "ga('send', 'pageview');";
@@ -232,19 +236,20 @@ public function getOrdersTrackingData()
 
         foreach ($collection as $order) {
             foreach ($order->getAllVisibleItems() as $item) {
+                $quantity = $item->getQtyOrdered() * 1;
                 $result['products'][] = [
                     'id' => $this->escapeJsQuote($item->getSku()),
                     'name' =>  $this->escapeJsQuote($item->getName()),
-                    'price' => $item->getPrice(),
-                    'quantity' => $item->getQtyOrdered(),
+                    'price' => (float)$item->getPrice(),
+                    'quantity' => $quantity,
                 ];
             }
             $result['orders'][] = [
                 'id' =>  $order->getIncrementId(),
                 'affiliation' => $this->escapeJsQuote($this->_storeManager->getStore()->getFrontendName()),
-                'revenue' => $order->getGrandTotal(),
-                'tax' => $order->getTaxAmount(),
-                'shipping' => $order->getShippingAmount(),
+                'revenue' => (float)$order->getGrandTotal(),
+                'tax' => (float)$order->getTaxAmount(),
+                'shipping' => (float)$order->getShippingAmount(),
             ];
             $result['currency'] = $order->getOrderCurrencyCode();
         }
