Adjust提供业内最灵活的应用内跟踪。您可定义和跟踪您所需数量的应用内事件,并建立所有与需求相对应的事件。

与实力伴随而来的是责任。作为专业的应用开发者或營销者,事先规划和制定应用内的事件跟踪,能让您的计划事半功倍,并真正符合应用、个案和工作流程的需求。

本指南主要介绍方法和结构,不包含代码示例。代码会依据您的平台、框架和操作方式有所不同。更多SDK相关的文档,请参考GitHub 上的文件

建议您先阅读我们的入门指南,以熟悉控制板中的事件设置流程,这能有效帮助您了解本份指南的内容。

1术语

  • 应用内事件
    任何由应用内的用户所触发的事件
  • 收入事件
    任何通过相关收入值来追踪的应用内事件
  • 单个用户获取成本(CPA)
    Cost-per-action的简称,为广告流量计费的通用术语,即根据购买用户所触发的应用内事件之数量计费
  • 转化链
    应用内由用户触发的各种转化事件(点击、安装或购买)列表
  • 回传
    将数据从一个服务器传送到另一个服务器的HTTP请求
  • API
    发送数据的接口

2通过事件跟踪来查看用户转化

事件追踪定义了您所撷取的指标以及构建的转化链。应用用户会通过许多方式表现他们的参与情况,常见的例如:注册、游戏等级、解锁内容以及购买等等。

这些便是用来总结广告绩效的转化点。以质量来说,触发更多转化点的用户(以及使用户產生更多转化的推广渠道),比那些注册之后就忘记的用户来的高。同理推论,这些用户比只参与但未转化的用户质量更高,因为后者虽然在您的应用中进行了许多、长时间的会话,但最终并未达成您的目标。

如果希望实现病毒式增长,最重要的转化点是用户邀请和社交参与。发送消息或点击分享按钮都是显着的转换点,您应该对这类事件进行追踪,以厘清哪些部分的用户群最有可能加强病毒式传播力度。

以产品销售或付费内容而言,您会将购买作为最终转换点,不过购买前后还有一些步骤值得留意。通常,跟踪向购物车添加项目的用户数目,能够指出在哪一阶段的交互或优惠有助于达成转化。用户购买后留下的评论,则能助您了解哪些用户最满意并有可能再次购买。

以游戏产品來說,如果对每项成绩或特定等级上的用户评分都进行跟踪,您可能很快就会感到茫然。我们推荐您跟踪特定的关键指标,例如:完成最初三个等级、进阶到一般用户对应用着迷的阶段,或者赢得第一个令用户上瘾的成绩。

假设您以病毒式增长推广一款移动游戏,并通过应用内购买来获得收入,大部分的事件對您而言可能都很有意思。在Adjust,您可以在无数量限制的情况下,免费跟踪您的事件:跟踪应用内事件不仅免费,且方便您灵活运用。

另一方面,在分析过程中,您可能希望在特定时间内聚焦于特定的转化点。因為评估过多的因素,有可能使您無法看清個別廣告渠道和用户的优势,因而产生家家均优的认定。这样的结论看来不错,但对您的优化工作没有实质帮助。

为达成优化,您需要一两个能达到目标的关键数字,而不是十个看似有益但都不重要的数字。如此一来,我们便可一目了然您的营销投入所带来的回报。

3使用事件分析功能

除了营销个例,灵活的应用内事件跟踪也可用来简明准确地跟踪用户在您应用内关注的内容。他们是否常常使用您的映射功能,或是很少发送表情符号?他们是否会经常广泛地配置自己的设置,或将其设为默认值?又或者,用户们是不是错过了您应用内最好的功能?

为使您的功能需求产生有意义的指标,必须要考量不同组件的使用情形。安装不久之后所进行的点击,肯定表明这是用戶需要的功能,又或者表明该按钮的颜色非常抢眼。

想想您的用户是在哪个部分,确实地(而非仅仅路过)和您应用的功能做互动。用户在您的应用内试图达成某项事件,在一定程度上,他们已经实现了与您应用功能的互动。如果某个功能令更多的造访的用户感到满意,那么这会是有益您进一步开发的有趣结论。

例如來說,您的应用允许用户从手机自带的存储或 Facebook 上传图片,那么您应该通过查看图片上传以后的事件发生来测量每一次的完成率和满意度,而不是跟踪每个选项上的点击次数。

4常见的CPA购买事件

按“CPA每行动成本”的流量计费模式,方便您针对应用中的特定目标进行定向和优化,进而提高转化率并降低商业风险。为此,您需要一份足以让您的流量合作伙伴信赖的事件追踪方案。

CPA购买通常指涉特定的主要转化事件,例如注册或购买。这些转换点通常有完善的定义,因此您可以快速测量用户对于应用的参与情况。

尽管深入探讨转换链的细部听来很吸引人,但您或許会发现更深层的转换(购买、病毒式增长等)发生的太晚或者比例太低,无法有效地用于直接优化。如果实施优化所需的反馈内容只出现在很小的群体内,那么数据正在提醒您:您恐怕并非走在正确的方向上。如果转换在做出优化后的一周或两周后才出现,说明反馈来得不够快速。

因此,我们的很多客户使用转换链中较早的转化点,或者使用事件的代理。舉例來說,“添加到购物车”事件可以作为购买的代理,由於这类事件比购买发生得更早、更频繁,因此能够产生更多“添加到购物车”事件的内容通常也是促使用户购买的优良渠道。要得出好的结论,您需要获得够快速且足够数量的反馈。

5跟踪购买和收入

收入跟踪是应用内购买得以货币化的重点功能。Adjust 提供了灵活、简捷的收入跟踪,方便您直接映射到您的商业模式。

通过添加收入参数到您的trackEvent,您可以对购买进行跟踪。我们建议您为您的购买创建单独的事件识别码 - 通常一个购买事件便已足够,当然,您也可以为不同类型的购买创建多个事件识别码。出于前述的同样原因,我们不推荐使用过多不同的事件类型,而是建議您使用最有意义的几个类型。

任何事件都可能与收入相关,但我们通常建议您着重于创建那些直接触发购买完成的事件。

除了原始购买金额,您也应该说明购买的币种。如需了解更多详情,请查看下一节跟踪不同币种的购买

请查阅相应的 SDK 自述文件,以了解完整的语法:

5.1消除重复购买事件

购买原理通常属于另一个独立的系统,由该系统处理付款以及用户的实际支付。在iOS上一般使用Store Kit来实现这种功能。Android上則已有了与Google Play商店相关联的功能,也可以使用例如PayPal在内的第三方支付。

許多客戶會使用Adjust来追踪由这些程序库发送的回传或者确认事件。然而,请务必考虑这些程序库发送确认信息的方式。例如,Store Kit经常会针对相同购买行为发送多个收据,并统一采用相同的交易ID号。这个作法能确保购买被交付,但对追踪来说并不理想。

如果您尝试跟踪这些重复的收据,就会造成重复追踪,并导致重复报告。幸运的是,您可以将Store Kit交易ID发送到我們的iOS SDK,我们会在跟踪事件之前便消除在SDK中的重复收据。更多详细内容,请查看最新的自述文档

6标记唯一事件

为了简化您的 SDK 集成和分析,您可以指定某些事件仅限跟踪一次。如果 SDK 为特定用户进行一次以上的注册,数据库會丢弃经配置为唯一的事件。

此设置可以在事件屏幕上找到:点击列表中事件旁边的“编辑”,打开“进阶设置”,将滑块拖到“ON”位置。

当本地 SDK 无法完全注意到某一行为的完整脉络时,唯一事件类型会非常有用。某些作法下,应用可能无法辨识登录和注册之间的区别 - 毕竟,二者的结果均是一名登录的用户。在这种情况下,您可以同时触发“注册”和“登录”事件,并将前者标记为唯一。

注意:我们建议您谨慎使用此功能。删除来自 SDK 的事件可能会导致与真实值不符的情况。在前一示例中,如果用户第二次注册成为新用户,会发生什么情况?跟踪非唯一事件时,您应尽可能搭配特定的情境条件执行。请记住,如果您的应用缺少本地的部分信息,您可以使用服务器到服务器事件

7以不同币种来跟踪购买

对于国际客户群,您可能要处理各种不同币种的购买。出于您跟踪和分析的目的,您需要可以涵盖不同来源收入的方案。

Adjust 提供的货币转化,使您可以按您收入事件的需求,通过 SDK 向我们发送不同的币种。一旦我们接收到数据,便会将收到的收入转换为您希望的记账币种。

1.您的购买被发送到 Adjust,其中包含原始购买金额和原始币种。 2.Adjust 将此币种转换为基础币种,即 USD。 3.对于您的控制面板、报告和其他报表,您可以在控制面板中选择报告币种。该设置可以在设置应用时完成,并且是常设性的。

您的控制面板和报告将使用报告货币,但在您的回传中也可能会收到基础币种和原始币种的數值。我们提供渠道合作伙伴相同的选项,来选择预期的收入/币种。完整列表请参见我们的占位符列表

目前支持的原始币种列表(您可以从 SDK 发送)可在这里找到。为了将您收到的币种转换为选定的报告币种,我们使用openexchangerates.org API进行实时转换。

7.1货币转换设置

当您创建应用时,便已选择了您的报告币种。一旦选定,该报告币种不能更改。SDK 能够接受任何收到的货币,该货币将被转发到我们的服务器,然后我们将收到的货币转换成您控制面板中的选定货币。

  • 在 Adjust 中设置您的应用时,选择报告币种。
  • 将 SDK 按您的收入事件,设置发送本地货币。
  • 我们将收到的货币转换成您所选择的报告币种。

8服务器端事件跟踪

在某些情况下,您的应用可能不完全知道服务器端已经完成的事件。您的应用可能只意识到某些状态,而不知道实际的状态转化,而购买或注册已在服务器端完成。对于这些使用情况,Adjust 提供服务器到服务器(S2S)的 API,使您可以通过 POST 回传来查询服务器中的事件和收入。

要触发S2S事件,您的服务器需要收集有问题之设备的 IDFA 以及该事件被触发时的本地时间戳。您还需要传送正确的应用识别码和事件识别码。

当您的服务器处理来自用户的要求时,您服務器發送的回傳應該與其同步。该接口仅对最近曾被我们 SDK 记录的设备事件有效。所有S2S事件必须于28天内发送,而28天以上的数据有可能被拒绝。另外,所有S2S事件数据必须按每跟踪码及每天顺序发送,举例来说:如果跟踪码X跟踪的事件,发送了第7天的事件数据之后才发送在第3天记录的数据,我们将拒绝旧的(第3天的)事件数据。

不论是收入事件还是普通事件,数据均须要传输到以下唯一的端点:

https://s2s.adjust.com/event

对于您的 POST 对终端的请求,必需参数是如下:

参数名称 示例 内容
app_token 4w565xzmb54d 来自控制面板的 Adjust 应用识别码
event_token f0ob4r 来自控制面板的 Adjust 事件识别码
s2s 1 应设置为 1
created_at 2006-01-02T15:04:05Z-0700 设备本地时间,包括时区
device_id        请看下面示例      设备标识符

##### iOS 和 安卓 s2s 事件的设备ID

如果您发送安卓设备的s2s事件,您必须发送Google Play商店广告ID(gps_adid), 同时我们建议您也发送安卓ID(android_id)。

对于某些跟踪合作伙伴如Google、Twitter 和 Facebook等,在iOS的s2s事件发送IDFA是必须的。同时我们建议您也发送IDFV。请注意,在因用户设置了“限制广告跟踪”而导致IDFA不可用的情况下,IDFV将被接受。

发送这些信息有助于确保将事件归因到正确的安装中,保证您的信息准确和有条理。

##### 其他设备ID

尽管您必须在iOS和Android上分别发送idfagps_adid,您也可在Adjust支持的各种平台上发送以下所列的附加设备ID。

参数 示例 内容 格式
adid 44ae297a759365ca4f8828a616764579 Adjust ID  
idfa D2CADB5F-410F-4963-AC0C-2A78534BDF1E 广告商的 iOS ID 带 “-“
idfv EF76726C-D952-451C-8E1A-4E86938BDC20 卖家的 iOS ID 带 “-“
mac 15118fdce61d 设备的 MAC 地址(仅 Android) 短,不带 “:”
mac_md5 e3f5536a141811db40efd6400f1d0a4e MAC 的 MD5(仅 Android) 大写字母,不带 “:”
mac_sha1 c1976429369bfe063ed8b3409db7c7e7d87196d9 MAC 的 SHA1(仅 Android) 大写字母,带 “:”
android_id e1cbfb61613b4f50 安卓 ID  
gps_adid 660e1d86-6796-463a-be86-897993136018 Google Play 广告主 ID 带 “-“
win_adid 107e8ea14329d4a2194ebbb6dc0c0fd7 Windows 广告 ID  
win_naid 5978aed4-82e5-28cf-8364-dfc64cb1fb84 Windows手机设备 ID 带 “-“
win_hwid JKJbFwIArpGAGDmcBTAvlAUMKJkHAMoSCADlJQkDHWG Windows手机设备 ID  
fire_adid df07c7dc-cea7-4a89-b328-810ff5acb15d Amazon Fire 设备 ID 带 “-“

对于收入事件,您也需要发送一个收入参数,同時可以选择特定环境,例如:设置为测试用的sandbox测试环境:

参数名称 内容
revenue 收入事件的值,采用完整货币单位 (150 = $ 150)
currency 收入事件货币代码,参见以下注释;ISO 4217,例如USDEUR
environment 发布数据的环境, “sandbox” 或 “production”

:收入单位已从毫单位改为完整货币单位,并且应当仔细升级预先存在的设置,以确保单位得以正确更新。先前的 amount 参数以毫单位传输 (990 = $ 0.99)。

跟踪收入事件时,请务必指定货币参数。

如果没有指定环境,事件将被推送到生产(production)环境。

成功跟踪的事件将回传 OK

如果您收到错误,通常是因为设备不为我们所知,或者不被您所发送的设备 ID 所知。

8.1通过 S2S 发送自定义参数

通过应用内事件,您还可以通过 S2S 事件 API 发送其他的自定义参数。这些自定义参数通过您的回传而转发,让您得以关闭在内部 BI 系统中的循环,并且输出一致且适用您所有事件的回传。

这些参数可通过callback_params参数作为 JSON 对象(已适当转义)发送。在以下示例中,JSON 对象附加包含两个自定义参数({"f0o":"bar""bar":"baz"}):

http://s2s.adjust.com/event?s2s=1&event_token=f0ob4r&app_token=4w565xzmb54d&idfa=...&callback_params=%7B%22f0o%22%3A%22bar%22%2C%20%22bar%22%3A%22baz%22%7D

同样,您可以使用partner_params参数发送 合作伙伴参数

JSON 对象仅应包含字符串,并且不应该被嵌套。如果参数格式不正确,端点将回报错误。

自定义参数,无论是来自 S2S API 或是通过 SDK,均不会反映在您的控制面板中。

9用自定义参数发送附加数据

Adjust帮助您向服务器发送与特定事件相关的数据,无论是出于追踪或进一步处理数据之目的。您可以利用Adjust SDK在每次事件调用时发送附加参数,例如用户ID、购买单据、产品类别等。您可在SDK自述文件中详细了解如何将这些参数添加到事件调用中。

这些附加参数会通过回调函数向您的服务器发送数据,但不会在您的控制面板或Adjust报告中显示。我们的服务器处理参数的时间不会长于向您发送回传所需的时间。Adjust服务器会接收这些参数,并利用您在输入阵列中设定的键值将参数打包到回传函数中。

如需进一步了解如何利用回调函数发送附加数据,并获得相关使用实例和最佳实践,请参考使用回传指南。

### 原生网络视图(webview)事件跟踪 您可以使用Adjust跟踪您的iOS和安卓的原生网络应用。利用基本桥接让JavaScript于原生SDK交互,JavaScript函数便能调用及初始化 Adjust 的 SDK。

原生iOS SDK 版本 4.8.0或以上都支持iOS网络视图。原生安卓 SDK 版本 4.7.0或以上都支持安卓网络视图。

### 使用Google跟踪代码管理器跟踪事件

由于Adjust提供了Google跟踪代码管理器的集成,您定义的任何跟踪代码都能灵活地以应用内事件方式于Adjust控制面板显示。

为了把有关数据传输到Adjust,请按以下步骤设置:

  1. 登入您的Google跟踪代码管理器帐户,然后前往容器(Container)页面。点击“新建代码“。

Full setup

2. 当您在Product选择了Adjust后,请输入相关的应用识别码(Application Token)以及事件标识码(Event Token)(这两个都能在Adjust控制面板的应用设置内能找到的)。如果事件是收入事件(Revenue Event),或者您希望发送到沙箱环境(Sandbox),请选择有关选项。您也可以添加自定义参数(Custom Parameter)或合作伙伴参数(Partner Parameter)到每个跟踪代码。

3. 当跟踪代码设置配置好了,请指定哪一个应用内事件应触发它。您可以设置所有事件都会触发,或者定义特定的规例和/或例外情况。

4. 点击“创建代码”就完成设置了。