You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS使用Universal Links时基于Google Analytics的邮件按钮点击追踪问询

嘿,我猜你是想问:当已安装App的iPhone用户点击这种带UTM参数的Universal Link直接唤起App时,Google Analytics能不能追踪到这个按钮点击行为?如果不能,该怎么实现? 这个问题我之前帮好几个开发者梳理过,咱们一步步来拆解:

核心结论:默认情况下GA不会自动追踪

原因很简单:当Universal Link直接唤起App时,整个流程完全在系统和App内部完成,没有经过浏览器——而GA的网页端追踪代码根本没机会执行,自然记录不到点击行为。但咱们有几种靠谱的方案来解决这个问题:

方案1:App内解析参数,手动发送GA事件(最推荐)

这是最直接也最可靠的方式,完全不需要依赖浏览器:

  • 当App通过Universal Link被唤起时,在iOS的回调方法(比如application(_:continue:restorationHandler:))里,解析链接中的campaign、source等UTM参数
  • 用GA的App端SDK(不管是Firebase Analytics还是老版的Google Analytics for Mobile Apps),手动发送一个自定义事件,或者设置用户的流量来源属性
    • 给你贴一段Swift示例代码:
      func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
          guard userActivity.activityType == NSUserActivityTypeBrowsingWeb, 
                let url = userActivity.webpageURL else {
              return false
          }
          
          // 解析UTM参数
          let urlComponents = URLComponents(url: url, resolvingAgainstBaseURL: false)
          let utmSource = urlComponents?.queryItems?.first(where: { $0.name == "source" })?.value
          let utmCampaign = urlComponents?.queryItems?.first(where: { $0.name == "campaign" })?.value
          
          // 发送GA追踪事件
          if let source = utmSource, let campaign = utmCampaign {
              // 自定义事件记录点击
              Analytics.logEvent("email_app_button_click", parameters: [
                  "utm_source": source,
                  "utm_campaign": campaign,
                  "utm_medium": "email"
              ])
              // 同时设置用户属性,方便后续关联App内的所有行为
              Analytics.setUserProperty(source, forName: "traffic_source")
          }
          
          return true
      }
      
  • 这样一来,邮件按钮的点击行为就能和App内的用户旅程完全关联起来,数据也能直接进入你的GA后台。

方案2:加一个极简中间追踪页(兼顾未安装App的用户)

如果你的需求还要覆盖未安装App的用户(点击后跳转到网页),可以做一个隐形的中间追踪页:

  • 把邮件里的按钮链接指向一个极简的网页(比如www.xyzxyz.com/track-click),这个页面只做两件事:
    1. 执行GA网页端代码,记录带有UTM参数的点击事件
    2. 立即自动重定向到真正的Universal Link,唤起App;如果App未安装,就跳转到App Store或者品牌落地页
  • 注意:这个中间页要尽可能轻量化,比如用纯HTML+JS实现,避免加载耗时过长导致用户感知到闪屏。可以用JS的window.location.href直接跳转,或者meta标签的refresh属性。
  • 好处是不管用户有没有安装App,都能100%记录到点击行为;缺点是已安装App的用户会有极短暂的网页闪屏(优化后基本可以忽略)。

方案3:结合邮件服务商追踪+App内ID关联

如果你的邮件是通过专业服务商(比如Mailchimp、HubSpot)发送的,它们本身会记录邮件的打开和按钮点击,但这种数据和App内行为是断开的:

  • 可以在Universal Link里额外加一个唯一的click_id参数,这个ID和邮件服务商的点击记录一一对应
  • App内解析到click_id后,把它和GA的用户ID/设备ID关联起来,后续在GA后台通过这个ID就能把邮件点击和App内的用户行为打通
  • 这种方式适合需要做跨平台(邮件+App)用户旅程分析的场景。
几个关键注意事项
  • 确保Universal Link配置正确:苹果的apple-app-site-association文件必须正确部署到你的域名根目录,App的associated domains权限也得在Xcode里配置好——不然链接会直接跳转到浏览器,虽然GA能记录,但不符合你“直接唤起App”的需求
  • 用标准UTM参数:尽量用utm_source、utm_medium、utm_campaign这些GA标准参数,GA会自动识别为流量来源,不用手动做维度映射
  • 测试覆盖两种场景:一定要在已安装和未安装App的设备上分别测试,确保两种情况下追踪都能正常工作

内容的提问来源于stack exchange,提问作者Daryl T

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:19:47