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

如何通过代码识别iOS应用安装是否来自Google Ads?

如何通过App内代码识别安装是否来自Google Ads点击?

问题描述

我使用Google Ads推广应用,已集成Firebase,能在Google Ads后台查看该渠道带来的转化量。现在想通过App内代码判断当前安装是否来自Google Ads的点击——用户点击广告后会通过click.google-analytics....redirect=...这类链接跳转至App Store,我尝试在AppDelegate的application(_:open:options:)方法里判断是否来自这类链接,但不确定能否从中获取到标识,或者是不是因为经过App Store跳转就无法实现?

提供的代码片段:

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {

    // Get CampaignName or some identifier from the Google Ad

    return true
}

解答

首先明确:直接通过application(_:open:options:)拿不到Google Ads的跳转标识

用户点击广告后,经过click.google-analytics链接跳转至App Store,当App从App Store完成安装并首次启动时,App Store不会将之前的Google Ads跳转URL参数传递给你的App,所以application(_:open:options:)方法里无法获取到这类来源标识。

正确实现:利用Firebase Analytics的归因能力

既然你已经集成了Firebase,Firebase会自动和Google Ads做归因数据同步,你可以通过Firebase提供的API直接获取安装来源的归因信息,判断是否来自Google Ads。

代码示例

在App启动时调用Firebase的归因查询API,获取来源参数:

import FirebaseAnalytics

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    FirebaseApp.configure()
    
    // 获取安装归因数据
    Analytics.getAttribution { attributionDict, error in
        guard let attribution = attributionDict, error == nil else {
            print("归因数据获取失败:\(error?.localizedDescription ?? "未知错误")")
            return
        }
        
        // 提取关键归因参数
        let source = attribution[AnalyticsParameterSource] as? String
        let medium = attribution[AnalyticsParameterMedium] as? String
        let campaignName = attribution[AnalyticsParameterCampaign] as? String
        
        // 判断是否来自Google Ads(cpc代表付费点击广告)
        if source == "google" && medium == "cpc" {
            print("当前安装来自Google Ads,活动名称:\(campaignName ?? "未命名")")
            // 在这里执行你需要的自定义逻辑
        }
    }
    
    return true
}

注意事项

  1. iOS 14+ ATT权限:iOS 14及以上系统中,必须获取用户的App Tracking Transparency权限,否则Firebase无法获取到完整的归因数据。
  2. Google Ads与Firebase关联:确保在Google Ads后台已正确关联你的Firebase项目,这样归因数据才能准确同步到Firebase中。
  3. 首次启动触发:归因数据仅在App首次安装启动时能获取到有效来源信息,后续启动可能无法拿到完整的安装来源数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 05:25:37