1

我正在尋找在Magento(1.7)網站上爲通訊訂閱設置Google Analytics目標。表單指向'newsletter/subscriber/new /'。 A)此網址是否會在Google Analytics中用作目標網址? B)我在哪裏可以找到Magento結構中的這個文件夾?爲Magento時事通訊設置Google Analytics目標

我想知道是否可以檢查遺傳代碼是否已添加到此通訊/訂閱者/新/文件夾中指向的任何頁面,因此它將被跟蹤?

回答

0

對於B來說,答案是,有這個沒有具體的文件夾: 的URL newsletter/subscriber/new/引用的方法newAction(),您可以通過檢查URL找到:第一個元素newsletter指通訊模件(Mage/Newsletter) ,第二個元素subscriber指的是此模塊中的控制器Mage/Newsletter/controllers/SubscriberController.php),第三個元素指的是此控制器中的操作newAction()。 裏面newAction()方法是定義一個重定向:$this->_redirectReferer(); 此方法_redirectReferer()從類Mage_Core_Controller_Varien_Action繼承:

protected function _redirectReferer($defaultUrl=null) 
{ 

    $refererUrl = $this->_getRefererUrl(); 
    if (empty($refererUrl)) { 
     $refererUrl = empty($defaultUrl) ? Mage::getBaseUrl() : $defaultUrl; 
    } 

    $this->getResponse()->setRedirect($refererUrl); 
    return $this; 
} 

所以,通過訂閱通訊,newAction()被調用的方法,該方法在結束重定向到在referer中給出的頁面,這是您開始訂閱的頁面。給定一個基本的Magento安裝,新聞訂閱塊的前端模板是app/design/frontend/base/default/newsletter/subscription.phtml

我不知道Google Analytic Goals是如何設置的,但這可能會幫助您作爲起點。

+0

感謝在此之前,這意味着,通訊/用戶/新這是不準確的,因爲它/不行。訂閱區塊是前端/ em0021/default/template/newsletter/subscribe.phtml。我只是想知道,如果添加此路徑足以顯示訂閱是否成功,就如您在訂閱框中輸入電子郵件地址時不會離開實際頁面一樣,則只會在頁面頂部顯示一條消息,感謝您的訂閱。'對於GA目標,您指定一個「謝謝」頁面作爲目的地,以證明它已成功。也許我會嘗試在GA目標中添加這個.phtml頁面,看看會發生什麼。 – zalia 2013-05-12 13:09:10

+0

如果您需要重定向到特殊頁面,您可以在這裏找到一個簡單的解決方案,只需在訂閱表單中添加一些代碼即可:http://www.drewgillson.com/blog/magento-redirect-page-newsletter-subscription/ 。對於一般使用Magentos重定向方法,這可能會有所幫助:http://blog.chapagain.com.np/magento-redirect-functions/,但爲此,我認爲你將不得不在自定義模塊中重寫'SubscriberController.php' ,所以第一個解決方案更容易.. – 2013-05-12 13:22:36

+0

感謝您的建議。目前不想重定向,但可能做到這一點,這最後一件事情是行不通的:我已經設置第二個目標與一個事件(而不是URL目標)與行動:/通訊/訂戶/新/。我將不得不看看他們中的一個是否會返回一些結果,如果他們工作,會在這裏發佈。 – zalia 2013-05-12 13:48:38

2

看看@_trackPageview(opt_pageURL)

然後在你的通訊模板,你可以做這樣的事情

<script type="text/javascript"> 
//<![CDATA[ 
    var newsletterSubscriberFormDetail = new VarienForm('newsletter-validate-detail'); 

    newsletterSubscriberFormDetail.submit = function(button, url) { 
     if (this.validator.validate()) { 

      _gaq.push(['_trackPageview', '/newsletter/subscriber/successful']); 

      var form = this.form; 
      var oldUrl = form.action; 

      if (url) { 
       form.action = url; 
      } 
      var e = null; 
      try { 
       this.form.submit(); 
      } catch (e) { 
      } 
      this.form.action = oldUrl; 
      if (e) { 
       throw e; 
      } 
     } 
    }.bind(newsletterSubscriberFormDetail); 
//]]> 
</script> 

然後創建你的目標網址爲「/通訊/用戶/成功」;

你也只是這一行添加到該按鈕的onclick /提交事件,但該數據被驗證

_gaq.push(['_trackPageview', '/newsletter/subscriber/successful']); 
相關問題