为Magento新闻稿设定谷歌分析目标
我希望为Magento(1.7)网站上的时事通讯订阅设置谷歌分析目标。表单指向“时事通讯/订户/新/”。A) 这个url在Google Analytics中可以作为目标url使用吗?B) 在Magento结构中的何处可以找到此文件夹为Magento新闻稿设定谷歌分析目标,magento,google-analytics,newsletter,subscriber,goal-tracking,Magento,Google Analytics,Newsletter,Subscriber,Goal Tracking,我希望为Magento(1.7)网站上的时事通讯订阅设置谷歌分析目标。表单指向“时事通讯/订户/新/”。A) 这个url在Google Analytics中可以作为目标url使用吗?B) 在Magento结构中的何处可以找到此文件夹 我想知道我是否可以检查GA代码是否已经添加到它所指向的新闻稿/订户/新文件夹中的任何页面,以便跟踪它?对于B,答案是,没有特定的文件夹: URLnewsletter/subscriber/new/引用了方法newAction(),您可以通过检查URL找到该方法:第一
我想知道我是否可以检查GA代码是否已经添加到它所指向的新闻稿/订户/新文件夹中的任何页面,以便跟踪它?对于B,答案是,没有特定的文件夹: URL
newsletter/subscriber/new/
引用了方法newAction()
,您可以通过检查URL找到该方法:第一个元素newsletter
引用了新闻稿模块(Mage/newsletter
),第二个元素subscriber
指此模块中的控制器Mage/Newsletter/controllers/SubscriberController.php
),第三个元素指此控制器中的操作newAction()
。
在newAction()
方法中定义了一个重定向:$this->\u redirectReferer()代码>
此方法\u redirectReferer()
继承自类Mage\u Core\u Controller\u Varien\u 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
我不知道谷歌的分析目标是如何建立的,但这可能会帮助你作为一个起点。看看@
然后在你的新闻稿模板中,你可以这样做
<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>
谢谢,这意味着时事通讯/订户/新/将无法工作。订阅块是frontend/em0021/default/template/newsletter/subscribe.phtml。我只是想知道添加此路径是否足以显示订阅是否成功,因为当您在订阅框中输入电子邮件地址时,您不会离开实际页面,页面顶部只显示一条消息,上面写着“感谢您的订阅”。对于GA目标,您可以指定一个“感谢”页面作为目标,以证明其成功。也许我会尝试在GA goals中添加这个.phtml页面,看看会发生什么。如果您需要重定向到特殊页面,您可以在这里找到一个简单的解决方案,只需在订阅表单中添加一些代码:。对于Magentos重定向方法的一般使用,这可能会有所帮助:,但对于这一点,我认为您必须在自定义模块中重写SubscriberController.php
,因此第一个解决方案更简单..谢谢您的建议。目前,我不想重定向,但可能会这样做。最后一件事不起作用:我已经用一个事件(而不是URL目的地)设置了第二个目标,其中的as Action:/newsletter/subscriber/new/。我必须看看他们中是否有人会返回一些结果,如果他们工作的话,我会把结果贴在这里。
_gaq.push(['_trackPageview', '/newsletter/subscriber/successful']);