分析UTM标记 - 数据不记录

时间:2014-10-03 22:06:00

标签: ruby-on-rails google-analytics analytics universal-analytics utm

我在Rails中创建了一个辅助模块,它创建了传递给link_to rails助手的参数哈希。这些utm参数正在Rails应用程序发送的电子邮件中使用。问题是Google Analytics在我测试时没有获取任何数据。我意识到处理有一个延迟,我也在使用GA调试器查看它实际发送的信标,我有一个临时服务器和暂存谷歌分析我正在测试所有这些。有没有人看到以下方法的任何内容会导致GA在“广告系列”报告中没有接受任何访问? utm标签的顺序是否真的重要?我意识到utm_campaignutm_sourceutm_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

2 个答案:

答案 0 :(得分:1)

据谷歌称,订单无关紧要。 AFAICT代码中的所有内容都是有序的,因此问题出在其他地方。饼干?

答案 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个参数。

[为了清晰而编辑,以及我正在测试的各种场景]