为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找到该方法:第一

我希望为Magento(1.7)网站上的时事通讯订阅设置谷歌分析目标。表单指向“时事通讯/订户/新/”。A) 这个url在Google Analytics中可以作为目标url使用吗?B) 在Magento结构中的何处可以找到此文件夹


我想知道我是否可以检查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']);