protected function getTrackingPayloadData(Tracking\AbstractTracking $event)
    {
        $payloadData = $event->getPackage();
        $payloadData['v'] = $this->apiProtocolVersion; // protocol version
        $payloadData['tid'] = $this->analyticsAccountUid; // account id
        $payloadData['uid'] = $this->getOption('user_id');
        $payloadData['cid'] = $this->getClientId();

        $proxy = $this->getOption('proxy');
        if ($proxy) {
            if (!isset($proxy['ip'])) {
                throw new Exception\MissingConfigurationException('proxy options need "ip" key/value');
            }

            if (isset($proxy['user_agent'])) {
                $payloadData['ua'] = $proxy['user_agent'];
            }

            $payloadData['uip'] = $proxy['ip'];
        }

        return array_filter($payloadData);
    }