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 }
- 给你贴一段Swift示例代码:
- 这样一来,邮件按钮的点击行为就能和App内的用户旅程完全关联起来,数据也能直接进入你的GA后台。
方案2:加一个极简中间追踪页(兼顾未安装App的用户)
如果你的需求还要覆盖未安装App的用户(点击后跳转到网页),可以做一个隐形的中间追踪页:
- 把邮件里的按钮链接指向一个极简的网页(比如
www.xyzxyz.com/track-click),这个页面只做两件事:- 执行GA网页端代码,记录带有UTM参数的点击事件
- 立即自动重定向到真正的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
相关产品推荐
相关产品推荐

