如何正确跟踪广告转化数据,优化广告投放效果?

为什么要做转化跟踪

广告界有一句老话,我知道我的广告费有一半是浪费掉的,但是不知道是怎么浪费掉的。所以对广告主来说广告跟踪非常重要,当你花了一大笔预算去做广告投放,带来的效果如何?如何根据每次广告投放的数据,去调整优化投放策略,这些都要靠广告跟踪来获得。

但现实情况是,广告平台与广告主侧的数据存在天然的割裂。广告平台能采集到安装事件,但应用内如付费、激活等转化事件平台采集不到,无法分析真实的转化率。广告主能轻易收集到实际转化的情况,但无法和广告任务相关联,影响对后续投放的优化。而通过转化跟踪,可以将广告主侧的转化事件与广告平台侧的投放任务相关联,从而为投放效果分析做数据支撑。

什么是转化跟踪

转化跟踪是将广告主最关注的转化行为(OAID、时间戳、转化行为、行为参数)通过API、SDK等方式上报给广告平台的产品。基于转化跟踪,广告主可以详细跟踪广告效果,监测不同平台、不同形式的广告带来的流量与对应转化效果,为不断优化广告投放提供准确的数据依据。

为了更好地帮助广告主在华为设备上进行应用推广,华为广告服务(HUAWEI Ads Kit)也提供转化跟踪能力,方便广告主进行广告转化渠道跟踪和转化效果分析。

华为广告服务转化跟踪参数能力工作原理

1. 广告主App集成广告服务获取转化跟踪参数能力并上架华为应用市场(AppGallery)。
2. 广告主在华为广告平台(Ad Network)投放App下载类广告,并设置转化跟踪参数。3. 媒体App(Media App)请求并展示广告主投放的广告。
4. 用户在媒体App上点击广告主投放的广告,用户可以选择并下载安装广告主App。
5. 华为应用市场(AppGallery)将转化跟踪参数写入广告服务。
6. 用户在端侧激活广告主App时,App从广告服务获取转化跟踪参数。
7. 广告主App上报激活事件给三方监测平台(Third-party tracking platform),平台可使用转化跟踪参数分析App转化效果。

开发步骤

一、集成转化跟踪参数开放能力(SDK方式)
SDK方式指广告主通过华为广告服务提供的SDK接入开放能力,获得App转化跟踪参数

集成SDK

1. 配置HUAWEI Ads SDK的Maven仓地址
打开Android Studio项目级"build.gradle"文件,在"allprojects > repositories"里面配置SDK的Maven仓地址。

allprojects { repositories { google() jcenter() maven { url 'https://developer.huawei.com/repo/' } } 
}

2. 配置依赖
打开子工程"app"下的"build.gradle"文件,在dependencies新增SDK的依赖,并将{version}替换为实际的HUAWEI Ads SDK版本号,请参见版本更新说明。

dependencies { implementation 'com.huawei.hms:ads-installreferrer:{version}' 
}

3. 同步修改的文件

4. PK前需要配置不要混淆HUAWEI Ads SDK,避免功能异常。
打开Android工程应用级根目录下的"app/proguard-rules.pro"混淆配置文件,添加如下两行代码,加入排除HUAWEI Ads SDK的混淆配置。

allprojects { repositories { google() jcenter() maven { url 'https://developer.huawei.com/repo/' } } 
}

创建转化跟踪参数状态监听器
1. 实现InstallReferrerStateListener监听器接口的两个方法onInstallReferrerSetupFinished和onInstallReferrerServiceDisconnected,代码示例如下:

/** 
* 创建监听 
*/ 
private InstallReferrerStateListener installReferrerStateListener = new InstallReferrerStateListener() { @Override public void onInstallReferrerSetupFinished(int responseCode) { switch (responseCode) { case InstallReferrerClient.InstallReferrerResponse.OK: Log.i(TAG, "connect ads kit ok"); get(); break; case InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED: // 服务不支持,请下载并安装最新版本的HMS Core(APK) Log.i(TAG, "FEATURE_NOT_SUPPORTED"); break; case InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE: // 服务不可用,请将HMS Core(APK)版本升级到2.6.5及以上 Log.i(TAG, "SERVICE_UNAVAILABLE"); break; default: Log.i(TAG, "responseCode: " + responseCode); break; } } @Override public void onInstallReferrerServiceDisconnected() { Log.i(TAG, "onInstallReferrerServiceDisconnected"); } 
};

2. 在连接成功的回调中调用getInstallReferrer方法获取转化跟踪参数。

/** 
* 获取转化跟踪参数 
*/ 
private void get() { if (null != mReferrerClient) { try { // 获取referrerDetails实例,不要在主线程中调用此方法 ReferrerDetails referrerDetails = mReferrerClient.getInstallReferrer(); if (null != referrerDetails && null != mCallback) { // 更新数据 mCallback.onSuccess(referrerDetails.getInstallReferrer(), referrerDetails.getReferrerClickTimestampMillisecond(), referrerDetails.getInstallBeginTimestampMillisecond()); } } catch (RemoteException e) { Log.i(TAG, "getInstallReferrer RemoteException: " + e.getMessage()); } catch (IOException e) { Log.i(TAG, "getInstallReferrer IOException: " + e.getMessage()); } finally { disconnect(); } } 
}

创建InstallReferrerClient实例
通过builder配置和创建一个InstallReferrerClient实例。
1. 调用InstallReferrerClient.newBuilder创建一个Builder实例。
2. 调用build创建InstallReferrerClient实例。

mReferrerClient = InstallReferrerClient.newBuilder(mContext).build();

连接转化跟踪参数服务
建立与转化跟踪参数服务的连接。
1. 设置startConnection的监听器为已创建的InstallReferrerStateListener监听器。
2. 在子线程中调用startConnection方法连接服务。

mReferrerClient.startConnection(installReferrerStateListener);

二、集成转化跟踪参数开放能力(AIDL方式)

除了接入SDK以外,广告主也可以直接调用华为广告服务的AIDL接口获取华为设备上的转化跟踪参数,两种方法获取同一设备的转化跟踪参数是相同的。

新增AIDL接口文件
在工程"app/src/main/aidl/com/huawei/android/hms/ppskit/"路径中新增一个"IPPSChannelInfoService.aidl"接口文件,包名为"com.huawei.android.hms.ppskit",然后将下面内容拷贝到该接口文件中。

// IPPSRemoteService.aidl package com.huawei.android.hms.ppskit; /* * 注意:不要修改AIDL文件的方法顺序 */ interface IPPSChannelInfoService { String getChannelInfo(); }

创建一个类,实现ServiceConnection接口

1. 实现ServiceConnection的onServiceConnected方法。
2. 调用IPPSChannelInfoService.Stub.asInterface方法获取IPPSChannelInfoService。
3. 调用getChannelInfo方法获取转化跟踪参数。

private final class InstallReferrerServiceConnection implements ServiceConnection { private InstallReferrerServiceConnection() { } @Override public void onServiceConnected(ComponentName componentName, IBinder iBinder) { Log.i(TAG, "onServiceConnected"); mService = IPPSChannelInfoService.Stub.asInterface(iBinder); if (null != mService) { try { // 获取渠道信息(Json格式) String channelJson = mService.getChannelInfo(); Log.i(TAG, "channelJson: " + channelJson); // 解析 JSONObject jsonObject = new JSONObject(channelJson); // 获取转化跟踪参数 String installReferrer = jsonObject.optString("channelInfo"); long clickTimestamp = jsonObject.optLong("clickTimestamp", 0); long installTimestamp = jsonObject.optLong("installTimestamp", 0); if (null != mCallback) { // 更新数据 mCallback.onSuccess(installReferrer, clickTimestamp, installTimestamp); } else { mCallback.onFail("install referrer is empty"); } } catch (RemoteException e) { Log.e(TAG, "getChannelInfo RemoteException"); mCallback.onFail(e.getMessage()); } catch (Exception e) { Log.e(TAG, "getChannelInfo Exception"); mCallback.onFail(e.getMessage()); } finally { unbindService(); } } } @Override public void onServiceDisconnected(ComponentName componentName) { Log.i(TAG, "onServiceDisconnected"); mService = null; } }

连接转化跟踪参数的AIDL服务
1. 创建一个InstallReferrerServiceConnection实例。
2. 创建一个Intent,Action是"com.huawei.android.hms.CHANNEL_SERVICE"。
3. 设置Intent的包名为"com.huawei.hwid"。
4. 调用bindService连接转化跟踪参数的AIDL服务

private boolean bindService() { Log.i(TAG, "bindService"); if (null == mContext) { Log.e(TAG, "context is null"); return false; } mServiceConnection = new InstallReferrerServiceConnection(); Intent intent = new Intent(Constants.SERVICE_ACTION); intent.setPackage(Constants.SERVICE_PACKAGE_NAME); // 绑定服务 boolean result = mContext.bindService(intent, mServiceConnection, Context.BIND_AUTO_CREATE); Log.i(TAG, "bindService result: " + result); return result; }

断开转化跟踪参数的AIDL服务
使用完AIDL接口后,应该主动断开服务连接。

private void unbindService() { Log.i(TAG, "unbindService"); if (null == mContext) {     Log.e(TAG, "context is null");     return; } if (null != mServiceConnection) { // 解绑服务 mContext.unbindService(mServiceConnection); mService = null; mContext = null; mCallback = null; } }

三、接入单机测试
完成上述获取转化跟踪参数业务代码的补全后,就可以进行编译,完成编译后,生成APK安装并运行。提供了相关Demo, 可以在端侧生成转化跟踪参数,供测试使用。

修改App用于测试转化跟踪参数。
SDK方式:在创建InstallReferrerClient时设置为测试模式,调用setTest(true),示例代码如下所示:

mReferrerClient = InstallReferrerClient.newBuilder(mContext).setTest(true).build(); 
mReferrerClient.startConnection(installReferrerStateListener);

AIDL方式:在测试时设置绑定的AIDL服务的包名为"com.huawei.pps.hms.test",示例代码如下所示:

mServiceConnection = new InstallReferrerServiceConnection(); 
Intent intent = new Intent(Constants.SERVICE_ACTION); 
intent.setPackage(Constants.TEST_SERVICE_PACKAGE_NAME); 
boolean result = mContext.bindService(intent, mServiceConnection, Context.BIND_AUTO_CREATE); 
Log.i(TAG, "bindService result: " + result);

将工程编译生成APK文件,并将APK文件安装到设备。运行App,显示如下页面。

点击"写入测试转化跟踪参数",界面将跳转到如下图所示页面,输入的App包名(参见"AndroidManifest.xml")和转化跟踪参数,并保存。

四、产品联调

得到转化跟踪参数后,需要登录华为广告平台将广告跟踪参数和推广任务联系起来
1. 广告主App集成转化跟踪参数后,上架华为应用市场。
2. 在华为广告投放平台创建推广任务时,设置转化跟踪参数,如下图所示:

3. 读取转化跟踪参数。广告主App被激活时,将会读取转化跟踪参数,并上报信息到开发者制定分析平台。

欲了解更多详情

访问华为广告服务官网
获取华为广告服务开发指导文档
华为广告服务开源仓库地址:GitHub、Gitee
华为HMS Core官方论坛 
解决集成问题请到Stack Overflow

关注我们,第一时间了解HMS Core最新技术~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/43710.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何利用QA来提高亚马逊Listing的流量?

在亚马逊的运营中,对于Listing的优化,很多卖家习惯性地只关注关键词和Review,却容易忽略QA部分;其实亚马逊QA也是影响Listing权重的重要因素。QA在亚马逊Listing的产品详情页中占有非常重要的位置,是买家购物的重要参考…

关于亚马逊广告优化如何把握设置细节值得一看?

当前的亚马逊运营,站内广告成为标配,但很多新卖家,遇到广告投放就蒙圈,既没有广告投放的思路,也不知道如何把握设置的细节。 比如,在日常遇到的咨询中,最常遇到的就是: 新品上架后…

亚马逊广告CPC优化技巧 投放就有效

上篇文章我们介绍了亚马逊广告为什么没有效果,为什么有展示没有成单,为什么有点击没有成单等问题。今天这篇我们主要介绍亚马逊广告如何设置。都是干货! 亚马逊广告问题自查之后才能知道自己的问题在哪,然后修改,大神…

亚马逊运营之广告优化问题的见解!

很多卖家在运营中把广告优化等同于设置否定关键词,这个词被点击了5次没转化,否定;那个词被点击了3次没转化,否定;N多个词被否定之后,广告也变得越来越差了。 原因很简单,否定固然是广告投放过程…

高薪聘请“软件测试”专业老师“在线修改测试人简历”、逆风下测试人的简历如何才能脱颖而出

小编热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、学习方法、心得及踩过的一些坑,记录下来。也希望想做软件测试的你一样,通过我的分享可以少走一些弯路,可以形成一套自己的方法…

软件测试培训班出来的,为啥那么容易被发现,简历到底该怎么写

首先,我说一句:培训出来的,优秀学员大有人在,我不希望因为带着培训的标签而无法达到用人单位和候选人的双向匹配,是非常遗憾的事情。 ​ 1,工作年限不匹配的 应届生就是没有经验的,不要写1-2年…

你的简历真的做的好吗?一起来看看软件测试简历的常见误区

目录 误区一:简历整体排版混乱,花花绿绿,不够简洁大方。 误区二:不要出现明显拉低简历逼格的技能和证书 误区三:工作经历模块流水账记录公司日常工作内容 误区四:专业技能描述跟工作经验不匹配 误区五&…

你投的简历提示不合适,建议参考STAR法则

投简历的时候老被提示为 您与该职位不太合适,无法进入面试阶段。建议参考STAR法则对简历进行修改,并突出您在专业知识方面的优势。 目测你是在拉钩上投的,企业的投递回复都是拉钩给的模板(所谓的STAR都是套路) 如果你…

个股呈现普跌

今日两市震动调整,到收盘,上证指数跌0.92%失守3600点,深证成指跌0.99%,创业板指跌0.19%。商场心情转弱,多空博弈剧烈,个股呈现普跌,挣钱效应较差。盘面上,重型机械、酒店餐饮、电源设…

透过顶级机构Q2持仓报告看美股不同板块的行情

美股股市走到今年二季度,市场出现了分化行情。部分板块受到政策影响而陷入低迷状态;有的版块因经济增长强劲迎来上涨行情,为此受到了不少投资机构的青睐。 近期,2021年二季度13F报告陆续释出,许多投资者都比较关心投资…

A股市场全景分析系列—基于涨停板统计市场情绪指标

股票分析应该遵循先大后小、先宏观后微观的原则,先分析整体市场的趋势,然后挖掘当前的热点板块,最后聚焦到强势股中。 于是,我们推出了“A股市场全景分析”系列,通过多维度的全局观察分析,清晰当前市场走向…

拉伯证券|A股涨势趋缓,个股分化,北向资金继续“买买买”

今天上午,A股商场涨势趋缓,主要指数涨跌互现。 个股方面也现较大分解,接连涨停股和接连大幅跌落股同时呈现。 值得注意的是,作为近期最为坚定买入A股的力量之一,北向资金今天上午继续“买买买”,上午半个交…

上涨趋势回踩均线选股器

本篇文章延续上篇《底部均线多头排列选股器》的思路继续往下写。 我记得自己刚入行的时候,最喜欢做的事之一就是去抄底,觉得在底部买入是一件多么让人兴奋的事情,但是随着经验的丰富,发现抄底这事的确很难,所以后来对…

上海亚商投顾:沪指冲高回落 三季报行情成主流

上海亚商投顾前言:无惧大盘大跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 沪指今日弱势震荡,创业板指一度冲高涨超1%,午后涨幅有所回落,上证50跌超1%&…

申宝剖析沪深两市股指高开高走

沪深两市股指高开高走,截至收盘,沪指涨0.61%,深证成指涨1.41%,创业板指涨2.54%站上3500点整数关口。 板块方面,锂电池、半导体、芯片板块全天强势,光伏、家电、动力电池板块涨幅居前,新能源汽车…

聊聊今天地产股的逆势上涨

文章来源:小七滚雪球 小七由于崇尚长期投资,坚持多看书,少看盘的投资方针,所以挺反感写这种聊一天行情的文章的。但是,一方面由于自己最近码字时间比较多,另一方面还是想把今天的行情作为一个引子&#xff…

【汇正财经】沪深创冲高回落

盘面回顾: 今日两市早盘冲高后一路走低,盘中一度涨0.9%的沪指最终收跌0.46%,深成指、创业板指分别跌0.33%、0.36%。市场情绪依旧低迷,成交量相对昨日有所回升,全天成交额6570亿,两市下跌个股多达4100只&am…

哈佛大学计算机系王牌项目,要请AI来当导师了

本文经量子位(公众号 ID: QbitAI)授权转载,转载请联系出处 克雷西 发自 凹非寺量子位 | 公众号 QbitAI 近日,哈佛宣布了一个重磅决定:AI导师将进入课程。 负责的还是计算机系的旗舰项目——计算机科学导论,…

哈佛重磅宣传!AI导师将进入计算机课程,适应每个学生的学习水平和进度

Datawhale干货 编辑:AI数据派,来源:量子位本文为1672字,建议阅读5分钟 本文介绍了哈佛宣布的重磅决定:AI导师将进入课程。 近日,哈佛宣布了一个重磅决定:AI导师将进入课程。 负责的还是计算机系…