我在Rails中创建了一个辅助模块,它创建了传递给link_to
rails助手的参数哈希。这些utm
参数正在Rails应用程序发送的电子邮件中使用。问题是Google Analytics在我测试时没有获取任何数据。我意识到处理有一个延迟,我也在使用GA调试器查看它实际发送的信标,我有一个临时服务器和暂存谷歌分析我正在测试所有这些。有没有人看到以下方法的任何内容会导致GA在“广告系列”报告中没有接受任何访问? utm
标签的顺序是否真的重要?我意识到utm_campaign
,utm_source
和utm_medium
都是必需的,并确保它们在每个链接中。
例如,这就是其中一个链接的样子。但是,GA并未获取任何数据。
http://example.com/?utm_campaign=welcome&utm_medium=email&utm_source=abc
我将link_to
方法创建的链接与Google UTM Link Builder输出的链接进行比较,唯一的区别是参数的顺序。订单重要吗?
http://example.com/?utm_source=abc&utm_medium=email&utm_campaign=welcome
这是辅助模块及其与link_to
一起使用的示例。
# mailer_helper.rb
require 'uri'
module MailerHelper
def self.tracking_param_hash(utm_source, utm_medium, utm_campaign, params = {})
{ utm_source: utm_source,
utm_medium: utm_medium,
utm_campaign: utm_campaign
}.merge(params)
end
def self.email_tracking_params(utm_campaign, options = {})
tracking_param_hash("abc", "email", utm_campaign, options)
end
...
end
# example usage in email view
email_params = MailerHelper::email_tracking_params("set-password", reset_password_token: @token)
link_to 'Set my password', edit_password_url(@resource, email_params)
# rendered link in email
http://example.com/users/password/edit?reset_password_token=YEt9PJgQsxb3WpJQ7OEXH3YDT8JZMD&utm_campaign=reset-password&utm_medium=email&utm_source=abc
答案 0 :(得分:1)
答案 1 :(得分:1)
由于多种原因,数据无法录制。第一个是因为其中一个链接用户正在点击user_confirmation_path
。由于POST上永远不会加载海胆,因此不会记录任何数据,并且会将用户重定向到登录页面。参数需要在POST重新定向时保留,否则流量将被视为direct
。接近这个Kissmetrics blog post的末尾,他们概述了这个问题。要解决此问题,您可以将参数传递到重定向网址。类似于redirect_to user_signin_path(tracking_parameters)
,其中tracking_parameters
是POST网址中的utm
标记。
第二个原因是因为utmz
cookie持续存在并且没有将访问计为新会话。由于Google Analytics和Chrome如何处理单个会话,因此您需要在全新的隐身窗口中测试所有内容。有关详细信息,请参阅this SO post。
最后,对于读取此内容的任何人,您可以通过查看名为utmz
的fora cookie来确认是否正在设置UTM参数。此Cookie由Google Analytics使用,看起来像12340657.1412743014.15.1.utmcsr=abc|utmccn=confirm|utmcmd=email
,并且其中应包含utm
个参数。
[为了清晰而编辑,以及我正在测试的各种场景]