/**
  * @link http://code.google.com/p/gaforflash/source/browse/trunk/src/com/google/analytics/ecommerce/Transaction.as#76
  * 
  * @return \UnitedPrototype\GoogleAnalytics\Internals\ParameterHolder
  */
 protected function buildParameters()
 {
     $p = parent::buildParameters();
     $p->utmtid = $this->transaction->getOrderId();
     $p->utmtst = $this->transaction->getAffiliation();
     $p->utmtto = $this->transaction->getTotal();
     $p->utmttx = $this->transaction->getTax();
     $p->utmtsp = $this->transaction->getShipping();
     $p->utmtci = $this->transaction->getCity();
     $p->utmtrg = $this->transaction->getRegion();
     $p->utmtco = $this->transaction->getCountry();
     return $p;
 }
示例#2
0
 /**
  * Combines _addTrans(), _addItem() (indirectly) and _trackTrans() of GA Javascript client.
  * Although the naming of "_addTrans()" would suggest multiple possible transactions
  * per request, there is just one allowed actually.
  * 
  * @link http://code.google.com/apis/analytics/docs/gaJS/gaJSApiEcommerce.html#_gat.GA_Tracker_._addTrans
  * @link http://code.google.com/apis/analytics/docs/gaJS/gaJSApiEcommerce.html#_gat.GA_Tracker_._addItem
  * @link http://code.google.com/apis/analytics/docs/gaJS/gaJSApiEcommerce.html#_gat.GA_Tracker_._trackTrans
  * 
  * @param \UnitedPrototype\GoogleAnalytics\Transaction $transaction
  * @param \UnitedPrototype\GoogleAnalytics\Session $session
  * @param \UnitedPrototype\GoogleAnalytics\Visitor $visitor
  */
 public function trackTransaction(Transaction $transaction, Session $session, Visitor $visitor)
 {
     // Ensure that all required parameters are set
     $transaction->validate();
     $request = new TransactionRequest(static::$config);
     $request->setTransaction($transaction);
     $request->setSession($session);
     $request->setVisitor($visitor);
     $request->setTracker($this);
     $request->fire();
     // Every item gets a separate request,
     // see http://code.google.com/p/gaforflash/source/browse/trunk/src/com/google/analytics/v4/Tracker.as#312
     foreach ($transaction->getItems() as $item) {
         // Ensure that all required parameters are set
         $item->validate();
         $request = new ItemRequest(static::$config);
         $request->setItem($item);
         $request->setSession($session);
         $request->setVisitor($visitor);
         $request->setTracker($this);
         $request->fire();
     }
 }