我在 Rails 中创建了一个帮助器模块,它创建了传递给link_to
rails 帮助器的参数散列。utm
Rails 应用程序发送的电子邮件中使用了这些参数。问题是,当我进行测试时,Google Analytics 没有获取任何数据。我意识到处理存在延迟,并且我还在使用 GA 调试器查看它实际发送的信标,并且我有一个暂存服务器并暂存 Google Analytics,我正在测试所有这些。有没有人看到以下方法会导致 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