我在Rails中创建了一个助手模块,该模块创建了一个散列参数,该参数被传递给link_to
rails helpers。这些utm
参数正用于由Rails应用发送的电子邮件。问题在于,Google Analytics(分析)在测试时没有收集任何数据。我意识到处理有一个延迟,我也使用GA调试器来查看它实际发出的信标,并且我有一台登台服务器并暂存Google Analytics,我正在测试所有这些信息。有没有人看到下面的方法会导致GA在“广告系列”报告下不接受任何访问? utm
标签的顺序是否真的很重要?我知道utm_campaign
,utm_source
和utm_medium
都是必需的,并确保它们在每个链接中。分析UTM标记 - 未记录数据
例如,这是其中一个链接的样子。但是,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