/** * Push the Google Analytics Event! * * @since 1.4.0 * @param array $event Gravity Forms event object * @param array $form Gravity Forms form object */ private function push_event($entry, $form, $ga_event_data) { // Init tracking object $this->tracking = new \Racecore\GATracking\GATracking(apply_filters('gform_ua_id', $this->ua_id, $form), true); $event = new \Racecore\GATracking\Tracking\Event(); // Set some defaults $event->setDocumentLocation($ga_event_data['document_location']); $event->setDocumentTitle($ga_event_data['document_title']); // Set our event object variables $event->setEventCategory(apply_filters('gform_event_category', $ga_event_data['gaEventCategory'], $form)); $event->setEventAction(apply_filters('gform_event_action', $ga_event_data['gaEventAction'], $form)); $event->setEventLabel(apply_filters('gform_event_label', $ga_event_data['gaEventLabel'], $form)); if ($event_value = apply_filters('gform_event_value', $ga_event_data['gaEventValue'], $form)) { // Event value must be a valid float! $event_value = GFCommon::to_number($event_value); $event->setEventValue($event_value); } // Pppp Push it! $this->tracking->addTracking($event); try { $this->tracking->send(); } catch (Exception $e) { error_log($e->getMessage() . ' in ' . get_class($e)); } }
/** * Логирует запрос * @param \Phalcon\Http\Request $request */ public function log(Request $request) { $token = trim($request->get('token')); $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; $host = parse_url($referer); $host = $host['host']; if ($token != '') { $this->googleTracker->setClientID($token); } $page = new \Racecore\GATracking\Tracking\Page(); $page->setDocumentPath($referer != '' ? $referer : '/'); $page->setDocumentTitle($referer != '' ? $referer : 'Direct'); $this->googleTracker->addTracking($page); $event = new \Racecore\GATracking\Tracking\Event(); $event->setEventCategory('Token_' . $request->get('token')); $event->setEventLabel($host); $event->setEventAction('Hit'); $this->googleTracker->addTracking($event); try { $this->googleTracker->send(); } catch (Exception $e) { //echo 'Error: ' . $e->getMessage() . '<br />' . "\r\n"; //echo 'Type: ' . get_class($e); } }
/** * Track the form * * @since 1.1.0 */ public function track_form($entry, $form) { // init tracking $this->tracking = new \Racecore\GATracking\GATracking($this->ua_id, false); $event = new \Racecore\GATracking\Tracking\Event(); $event->setEventCategory('Forms'); $event->setEventLabel('Form: ' . $form['title'] . ' ID: ' . $form['id']); $event->setEventAction('Submission'); $this->tracking->addTracking($event); try { $this->tracking->send(); } catch (Exception $e) { echo 'Error: ' . $e->getMessage() . '<br />' . "\r\n"; echo 'Type: ' . get_class($e); } }
/** * Push the Google Analytics Event! * * @since 1.4.0 * @param array $event Gravity Forms event object * @param array $form Gravity Forms form object */ private function push_event($entry, $form, $ga_event_data) { //Get all analytics codes to send $google_analytics_codes = array(); if (!empty($ga_event_data['gaEventUA'])) { $ga_ua = explode(',', $ga_event_data['gaEventUA']); if (is_array($ga_ua)) { foreach ($ga_ua as &$value) { $value = trim($value); } } $google_analytics_codes = $ga_ua; } if ($this->ua_id) { $google_analytics_codes[] = $this->ua_id; } $google_analytics_codes = array_unique($google_analytics_codes); /** * Filter: gform_ua_ids * * Filter all outgoing UA IDs to send events to * * @since 1.6.5 * * @param array $google_analytics_codes UA codes * @param object $form Gravity Form form object * @param object $entry Gravity Form Entry Object */ $google_analytics_codes = apply_filters('gform_ua_ids', $google_analytics_codes, $form, $entry); $event = new \Racecore\GATracking\Tracking\Event(); // Set some defaults $event->setDocumentLocation($ga_event_data['document_location']); $event->setDocumentTitle($ga_event_data['document_title']); // Set our event object variables $event->setEventCategory(apply_filters('gform_event_category', $ga_event_data['gaEventCategory'], $form, $entry)); $event->setEventAction(apply_filters('gform_event_action', $ga_event_data['gaEventAction'], $form, $entry)); $event->setEventLabel(apply_filters('gform_event_label', $ga_event_data['gaEventLabel'], $form, $entry)); if ($event_value = apply_filters('gform_event_value', $ga_event_data['gaEventValue'], $form, $entry)) { // Event value must be a valid float! $event_value = GFCommon::to_number($event_value); $event->setEventValue($event_value); } //Push out the event to each UA code foreach ($google_analytics_codes as $ua_code) { $tracking = new \Racecore\GATracking\GATracking($ua_code); $tracking->addTracking($event); try { $tracking->send(); } catch (Exception $e) { error_log($e->getMessage() . ' in ' . get_class($e)); } } // Init tracking object }