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;
    }