code: private function prepareGAReqData()
      {
          if (!empty($this->GAReqData)) {
              return $this->GAReqData;
          }
  
          $mandatoryReqData = [];
          $mandatoryReqData['v'] = 1;
          // Tracking ID
          $mandatoryReqData['tid'] = $this->getGATrackingId();
          $cid = $this->config->getCID();
          $mandatoryReqData['cid'] = $cid;
          $mandatoryReqData['uid'] = $cid;
          // Magento version
          $mandatoryReqData['ua'] = $this->metaData->getVersion();
          // Get Default Country
          $mandatoryReqData['geoid'] = $this->getCountry();
          // Data Source parameter is used to filter spam hits
          $mandatoryReqData['ds'] = 'Fastly';
  
          $customVars = $this->prepareCustomVariables();
          $this->GAReqData = array_merge($mandatoryReqData, $customVars);
  
          return $this->GAReqData;
      }
docs: Prepares GA data for request
  
  @return array
  @throws \Magento\Framework\Exception\NoSuchEntityException