用于转化网页用户的智能脚本设置

概要:本文介绍了OneLink智能脚本(Smart Script)的设置方式。设置完毕后,您就可以通过这种方式将来自任何渠道的移动端网页访客转化为移动端应用用户,并对其进行归因。

7901_Smart_Script_flow_1920x1080_2__1_.png

设置说明

OneLink智能脚本分为两个版本:

OneLink智能脚本V2(推荐):如果您之前没有使用过OneLink智能脚本,建议在首次设置时使用V2版本。该版本支持在AppsFlyer面板中直接生成脚本,无需开发人员协助。即使出现需要开发的场景,相关工作也较为轻松。此外,您还可以使用Google Tag Manager(跟踪代码管理器)来设置智能脚本。另请参见面向开发人员的相关说明

OneLink智能脚本V1(旧版):如果您已经有设置完毕的旧版OneLink智能脚本,请参照该版本的相关文档对您的脚本进行维护和更新。请注意:新旧版本之间的迁移虽然不是必须完成的工作,但还是建议您转换到V2,以确保OneLink智能脚本能正常获取浏览型归因信息。

OneLink智能脚本的设置方式

您可以选择以下任一方式完成智能脚本的设置:

  • 将脚本嵌入您的网站。
  • 使用Google Tag Manager(跟踪代码管理器)部署脚本。

工作范围

涉及人员
  • 广告主
     
    • 使用智能脚本对传入的链接(incoming URL,简称入链)进行处理。需要根据脚本中的参数(arguments)确定该脚本生成的链接(outgoing URL,简称出链)中应包含哪些内容,包括在链接末尾添加的归因和深度链接数据。这可以通过更改传入链接或强制添加具体值来实现。
    • 在AppsFlyer面板中生成智能脚本。
    • 对于所有跳转到移动端网站的广告,确保其入链中带有该脚本所支持的参数。
    • 测试智能脚本。 
  • 网页端开发人员
    • 确认该脚本可在相关移动端网站/网页中正常运行。
    • 根据实际需求使用生成的值,比如将其作为一个链接放在您网页中的CTA按钮下。
    • 视实际使用场景,可能需要使用该脚本创建二维码。
    • 视实际使用场景,可能需要在脚本中手动添加高级参数(arguments)。
前期准备

OneLink智能脚本的创建方式

  1. 从AppsFlyer后台的左侧菜单栏中选择 互动 > 网页到应用 > 智能脚本
  2. 首次创建时:
    1. 点击开始按钮。
    2. 从第4步开始进行操作。
  3. 点击页面顶部的+ 新建智能脚本按钮。
  4. 根据界面中的指示为您的智能脚本命名。
  5. 选择一个OneLink模板作为该脚本的基础。该模板中必须包含基础跳转设置。
  6. 以入链中的参数为基础,对出链中需要包含的参数进行映射。请注意:媒体渠道(pid)是必须配置的参数。
    1. 选择要映射的出链参数/维度。
      通常选择固定的AppsFlyer参数名称,但部分情况下您可能需要输入您自定义的参数名称。
    2. 根据以下元素判定并配置出链参数的值:
      • 入链参数:在可能出现的入链参数中,列出一个或多个您想要用出链参数替换的参数。这些参数的值会从入链参数传递到出链参数。
        • 示例:any_param_name、utm_param_name。假设您选择了utm_param_name,这时如果入链中出现utm_param_name这个参数,其参数值将成为您选定的出链参数的值。
        • 智能脚本会从左到右搜索参数列表,并将首个匹配的参数映射到出链参数。
        • 开发人员将这些参数称为“键”(keys)。
      • 默认值:如果智能脚本没有找到匹配的入链参数,或您没有列出任何需要映射的入链参数,智能脚本会在出链参数中填入您配置的默认值。
        • 示例:如果您列出了any_paramname和utm_paramname作为需要映射的入链参数,但智能脚本未在入链中找到任何匹配的参数,则会在相关出链参数中使用默认值。
      • 覆盖值:您可以将一个或多个入链参数值替换为其他值,传递到出链参数中。
        • 示例:假设入链中的广告系列参数值为campaign_name,其出链参数值可替换为new_campaign_name。
    3. 【可选】点击+ 添加参数,配置其他参数的映射方式。另请参考完整的可用参数(arguments)列表。
  7. 选择智能脚本在相关网站中的部署方式:
    • 将脚本嵌入您的网站。
    • 使用Google Tag Manager(跟踪代码管理器)部署脚本。
  8. 点击测试,在智能脚本测试页中测试该脚本,确保该脚本所生成的传出链接正确无误。
  9. 完成以下操作:
    1. 点击保存,保存您所做的更改
    2. 点击保存并生成,保存并生成脚本
      1. 点击下载脚本
  10. 如果您选择将脚本嵌入相关网站:将该脚本发送给您的网页端开发人员,以便其完成部署工作。对于脚本生成的传出链接,与开发人员沟通其使用场景和处理方式。例如将其放在移动端网页中的CTA按钮下,或作为PC端网页中的二维码向用户展示。另请参见开发人员的说明文档
  11. 如果您选择使用Google Tag Manager部署脚本:
    1. 在Google Tag Manager中创建一个新的标签(tag)并为其命名,点击Tag Configuration,然后选择Custom HTML
    2. 将AF生成的智能脚本代码粘贴到“HTML”字段框中。
    3. 点击Triggering,创建一个新的触发器(trigger)并为其命名,然后选择一种Trigger Configuration(触发配置,如“all page views”,所有页面的浏览皆可触发)。另请参见GTM说明文档,了解详情。
    4. 点击Save进行保存
    5. 对于脚本生成的传出链接,与开发人员沟通其使用场景和处理方式。例如将其放在移动端网页中的CTA按钮下,或作为PC端网页中的二维码向用户展示。另请参见开发人员的说明文档。
  12. 您可以在下拉菜单中查看您保存的脚本。

 重要提示!

每次更新脚本后都需要重新完成部署工作。

脚本的编辑和删除方式

Script_steps.jpg

  1. 点击相关智能脚本名称旁边的下拉菜单箭头图标Down_arrow.jpg
    该下拉菜单中会显示您保存过的所有脚本
  2. 找到您要编辑的脚本,点击脚本旁边的铅笔图标。
    1. 按照OneLink智能脚本的创建步骤进行操作
  3. 点击垃圾箱图标,删除该智能脚本。

 重要提示!

每次更新脚本后都需要重新完成部署工作。

脚本的副本创建方式

  1. 进入相关智能脚本的页面
  2. 点击顶部横幅中的上SmartScript_duplicate.jpg按钮,创建副本
  3. 按照OneLink智能脚本的创建步骤进行操作

参数结构

OneLink智能脚本根据传入链接中的参数以及脚本中定义的参数,来生成传出的链接。afParameters参数由多个其他参数构成,用于归因和深度链接,每个参数都包含一个带有键(key)、覆盖值(override value)和默认值(default value)的结构(开发人员称之为“配置对象”,即“configuration object”),如下表所列。

参数(argument) 说明 示例
入链参数(开发语言中的“键”,即“key”)
  • 字符串列表
  • 即传入的链接中可能出现的参数。智能脚本会在这些参数中寻找匹配项,并将匹配参数的值传递到生成的链接中。
  • 脚本从左到右进行搜索,直到发现第一个匹配项。
  • 示例:['in_channel', 'utm_channel']
  • 对于脚本中的Channel参数(用于表达流量入口信息),脚本会在传入链接中搜索in_channel ,并将该参数的值作为channel值。
默认值(default value)
  • 字符串
  • 作为备用的值。
  • 如果智能脚本未在您的传入参数列表(key list)中找到要映射的参数,就会在生成的链接中使用默认值。
  • 您也可以通过传递空的传入参数列表,在生成的链接中强制使用默认值。

示例:['web_video']

对于Channel参数,如果脚本未在传入链接中找到in_channel参数,会将web_video参数的值作为channel值。

覆盖值(override value)
  • 数据结构:Dictionary {string: string}
  • 用于更改出链中的值。具体方法:列出入链中的相关值以及用于替换的值。
  • 脚本会将入链中的相关参数值替换成您定义的值。 

示例:{'video': 'video_new'}

对于Channel参数,只要传入的值是“video”,脚本会在生成的链接中将其替换为“video_new”。

参数

OneLink智能脚本根据传入链接中的参数以及脚本中定义的参数,来生成传出的链接。

用于部署智能脚本的参数和值(arguments)

参数 说明 记录您需要的值(供您或您的开发人员使用)
oneLinkURL(必须配置)
  • 用于提供OneLink模板域名和模板ID。注意:切勿将其与OneLink自定义链接URL相混淆!
  • 示例:yourbrand.onelink.me/A1b2
  • 品牌域名示例:click.yourbrand.com/A1b2
 

afParameters

(必须配置)

 

 

 


 

mediaSource

(必须配置)

  • 媒体渠道的配置对象(Configuration object)
  • 示例:
     
    • 键(key):['incoming_mediasource’' 'utm_source']
    • 默认值:['any_source']
    • 覆盖值:{twitter: 'twitter_int', orig_src: 'new_src'}

键:

默认值:

覆盖值:

campaign
  • 广告系列的配置对象(Configuration object)。
  • 示例:
     
    • 键:['incoming_campaign', 'utm_campaign']
    • 默认值:['any_campaign_name']
    • 覆盖值:{campaign_name: 'new_campaign_name'}

键:

默认值:

覆盖值:

channel
  • 流量入口的配置对象(Configuration object)。
  • 示例:
     
    • 键:['incoming_channel', 'utm_channel']
    • 默认值:['any_video']
    • 覆盖值:{video: 'new_video'}

键:

默认值:

覆盖值:

ad
  • 广告的配置对象(Configuration object)。
  • 示例:
     
    • 键:['incoming_ad', 'utm_ad']
    • 默认值:['any_ad_name']
    • 覆盖值:{ad_name: 'new_ad_name'}

键:

默认值:

覆盖值:

adSet
  • 广告组的配置对象(Configuration object)。
  • 示例:
     
    • 键:['incoming_adset', 'utm_adset']
    • 默认值:['any_ad_name']
    • 覆盖值:{adset_name: 'new_adset_name'}

键:

默认值:

覆盖值:

deepLinkValue
  • deep_link_value的配置对象。
  • 示例:
     
    • 键:['product_id', 'page_name']
    • 默认值:'new_offers_page'
    • 覆盖值:{twenty_percent_off: 'thirty_percent_off'}

键:

默认值:

覆盖值:

afSub1-5 af_sub[1-5]的配置对象。

键:

默认值:

覆盖值:

googleClickIdKey 定义用于传递GCLID信息的参数。
注意如需让AppsFlyer原始数据报告呈现该数据,必须使用af_sub [1-5]中的一个参数。
 
其他(自定义)查询参数
 
  • 列出脚本生成的OneLink链接中需要包含的其他参数及其配置对象,用于归因或深度链接。
  • 开发人员需将自定义参数的名称作为paramKey在配置对象中列出。
  • 示例:
    • paramKey:'deep_link_sub1'
    • 键:['page_id']
    • 默认值:'page1'
    • 覆盖值:{page12: 'new_page12'}

paramKey:

键:

默认值:

覆盖值:

高级参数

对于技术能力较强的营销和开发人员,还可以在智能脚本中使用下表所列的参数(arguments)。

可在智能脚本中添加的高级参数和值(arguments)

参数 说明 记录您需要的值(供您或您的开发人员使用)

referrerSkipList
  • 某个特定点击的HTTP referrer中所包含的一系列字符串(如Twitter或Facebook),智能脚本发现该参数后会返回null。该参数非常适用于X Ads和Meta ads等SRN平台,可避免重复上报相关点击。
  • 使用此参数会导致脚本不生成OneLink URL。
 
urlSkipList
  • 某个特定点击的URL中所包含的一系列字符串(如af_r),智能脚本发现该参数后会返回null.如果你使用带有af_r的AppsFlyer归因链接让用户跳转到您的移动端网站,可以通过这个参数来完整地保留来自初始点击的数据。
  • 使用此参数会导致脚本不生成OneLink URL。
 

使用场景

以下章节介绍了智能脚本在常见投放/渠道场景中的使用方式。

UTM参数

如需通过智能脚本传递UTM参数,请按以下方式设置:

  1. 列出传入链接中的UTM参数(如utm_sourceutm_campaign)以及在出链中与其对应的参数(如media_sourcecampaign)。 
  2. 利用上文的参数列表,向网页端开发人员提供这些参数。
     

效果:脚本使用传入参数(如utm_sourceutm_campaign)的值,填充与其对应的传出参数值(如media_sourcecampaign)。 

Google Ads的GCLID

在Google Ads广告系列(带有GCLID参数)的常规激活归因流程中,用户点击广告后必须跳转到相关应用的商店页面。

在此场景中,您的目的是将潜在用户从Google Ads引导到某个网页/落地页,此时智能脚本会提取Google Ads激活广告链接中的GCLID参数,并将其添加到传出链接中。2.9.0版及以上的智能脚本会在GCLID、WBRAID以及GBRAID参数可用时,自动将其按原样传递到脚本生成的传出链接中。

但如果要将潜在用户从Google Ads引导到某个网页/落地页,可以通过智能脚本来抓取Google Ads激活广告链接中的GCLID参数,并将其传递到出链中的指定参数(可选范围为af_sub[1-5])。

注意!

  • 上述方法适用于激活广告(install campaigns)。对于非ACI搜索广告(即再互动广告),无论智能脚本传出的信息如何,Google都可能被归因为媒体渠道。 
  • 如果智能脚本在传入链接中找到了GCLID,会继续搜索其中是否存在关键词参数。若有,则脚本会将该关键词参数的值作为传出链接中af_keywords的值。

前期准备: 进入Google面板,启用自动标记(auto-tagging)
启用完毕后,相关URL中就会包含GCLID参数。

如需通过智能脚本传递Google Ads GCLID数据,请按以下方式设置:

  1. 选择一个参数,用于在出链中表达GCLID。
    最佳方式:选择af_sub[1-5]中的一个参数,这样AppsFlyer原始数据报告中就能呈现该ID数据。
  2. 利用上文的参数列表,向网页端开发人员提供这些参数。
     

效果:在出链(即脚本生成的链接)中,GCLID通过af_sub[1-5]参数的值来表达。

如需向Google Ads回传这些激活,请按以下方式操作:

  1. 通过CSV或Push API从af_sub[1-5]参数中实时抓取每一个激活的GCLID数据。
  2. 手动方式或使用Google Ads API向Google上传这些GCLID数据。

 注意

Google官方不支持或推荐上述GCLIC解决方案。如果Google后续弃用其GCLID参数,我们也会在脚本中做相应的更改。您可以点击本文页眉中的关注按钮,我们会在文档信息附件脚本有更新时向您发送通知。

Facebook click ID

Meta ads的广告中带有名为Facebook click ID的点击ID。如果您想在AppsFlyer的原始数据中看到该ID信息,请确保在传出链接中添加指定参数(可选范围为af_sub[1-5]),用于传递该数据。

如需通过智能脚本传递Facebook click ID,请按以下方式设置:

  1. 选择一个参数,用于在出链中表达Facebook click ID
    最佳方式:选择af_sub[1-5]中的一个参数,这样AppsFlyer原始数据报告中就能呈现该ID数据。
  2. 利用上文的参数列表,向网页端开发人员提供这些参数。
     

效果:在出链(即脚本生成的链接)中,Facebook click ID通过af_sub[1-5]参数的值来表达。

SRN、自有媒体和其他媒体渠道链接

Snapchat或X Ads等SRN与Google Ads或Meta ads等的跨平台归因流程不同。这些SRN的广告会将用户引导到网页/落地页,并按潜在用户的点击收费,与后续产生的移动端转化无关。 

针对这类SRN的脚本设置方式与自有媒体或其他媒体上的链接设置相同。 

这类场景中的脚本设置方式如下

  1. 列出传入链接中用于表达媒体渠道和广告系列的参数名称。
  2. 利用上文中的参数列表,向网页端开发人员提供这些参数。
    传入链接中的媒体渠道值说明SRN/媒体渠道的类型,智能脚本找到相关值后,会在生成的OneLink链接中将这个值填充到media_source参数。这个OneLink链接就是网页/落地页中的下载按钮背后的链接。如果您想要更改传出的media_source值,请利用上文的参数列表向您的网页端开发人员提供需要替换掉的传入值以及用于覆盖该值的media_source值。

效果:对于上述SRN/媒体渠道,智能脚本会使用传入链接中媒体渠道和广告系列参数的值来填充出链中的media_source campaign参数。 

 示例

传入的链接:https://hotel.me/incoming_mediasource=twitter&incoming_campaign=big_social

脚本生成的链接:https://hotel.onelink.me/Ac4G?pid=twitter&c=big_social

AppsFlyer归因链接

如果您使用的媒体渠道是点击广告平台,就可以使用AppsFlyer归因链接进行投放。在AppsFlyer后台设置此类链接时,您可以在其中添加一个跳转URL路径参数(即af_r),并将参数值设为所需的URL路径,跳转到您的移动端网站,用于网页到应用的广告归因。在这类场景中,最好不要让智能脚本生成传出的OneLink链接,否则初始点击中的部分数据可能会丢失。

操作方法:使用urlSkipList参数,在其值中列出af_r参数。

效果:智能脚本在传入链接中发现af_r后,不会生成传出链接。开发人员需要选择一个链接用来替代传出链接,并进行相应的部署。

 示例

传入链接:https://app.appsflyer.com/id123456789?pid=click_ad_network_int&c=orlando&af_r=hotel.me

脚本生成的链接:无。

Web Referrer映射

您可以通过Web Referrer映射了解用户从哪个页面(比如自然搜索结果)进入了您的网站,从而扩充您的可用数据,以便分析基于智能脚本的网页到应用链路所带来的激活和再互动。

智能脚本可以从相关落地页或网站HTTP请求头(header)的Referer字段中收集该信息。该字段中包含相关页面的基础URL,用户在该页面中点击链接后即跳转到您的网站。

如需让智能脚本收集Web Referrer信息,请按以下方式设置:

  1. 打开智能脚本页面
  2. 向下滚动到Web Referrer映射部分,在其中选择用于传递Web Referrer值的出链参数键:
    • af_channel——该参数会呈现在面板和原始数据中
    • af_sub1-5——该参数会呈现在原始数据中的af_sub1-5字段以及original URL字段下。
    • 自定义参数——由参数名称和值组成,会呈现在原始数据中的original URL字段下。

如需了解如何使用Universal Link和App Link进行自然搜索归因,请参考此文档

PC端

本文中所涉及的大部分使用场景主要针对来自移动端的用户。这类用户从移动端网站跳转到应用商店后可以立即下载相关应用。

但PC端用户由于其设备(如台式机或笔记本)的限制,无法立即进入应用商店,因而不适用于移动端应用下载。 

如需针对PC端用户设置智能脚本,请按以下方式操作:

  • 在您的OneLink模板中,针对用户在PC端点击该链接的场景设置一个跳转终点URL,这必须是专用于此场景的网页/落地页。该落地页中可包含一个网页表单,让用户填写相关信息,以便向用户发送带有应用下载链接的短信或邮件。是否要创建网页表单并在脚本中提供该表单的URL取决于您的实际业务需求。 

效果:脚本可检测用户所在的设备或操作平台。如果检测到用户来自PC端,脚本会生成一条OneLink出链,让用户跳转到专用的网页/落地页。

另请参阅PC端到应用的转化

代理

AppsFlyer可以通过af_prt参数将激活归因到代理。

如需使用OneLink智能脚本在链接中添加这个归因参数,请让您的开发人员按照相关指南进行操作。  

效果:脚本会检测传入链接中是否包含其他带有代理名称的参数,若有,则在生成的链接中添加af_prt参数。

 示例

传入链接:https://hotel.me/incoming_campaign=gogo&incoming_media_source=email&partner_name=bigagency

脚本生成的链接:https://hotel.me/pid=email&c=gogo&af_prt=agency

二维码

智能脚本可在您的网页中展示二维码,而非带有链接的按钮。 

如需展示二维码:

  1. 请确保在设置智能脚本时使用Smart Script 2.6及以上版本。
  2. 请让您的开发人员根据相关说明,创建通过智能脚本生成的二维码。
  3. 【最佳方式】请让开发人员:
    • 对二维码进行定制,包括将相关应用的logo添加到二维码的中央,并调整色调。
    • 向PC端用户展示二维码,向移动端用户展示带有链接的按钮。

效果:脚本展示二维码,而非带有链接的按钮。

 示例

传入链接

https://hotel.me/qr_code.html?incmp=gogo&inmedia=email

脚本生成的链接

https://hotel.onelink.me/LtRd/?af_js_web=true&af_ss_ver=2_1_0&pid=email&c=gogo

脚本展示的二维码

展示(impressions)

您可以使用OneLink智能脚本来统计您网站上的展示次数。如需实现此功能,开发人员需要调用展示函数。然后AppsFlyer就可以通过浏览型归因将激活归因到相关展示。

请注意

  • 智能脚本生成的常规链接可统计点击,而展示统计是独立于此的额外功能。智能脚本可用于统计点击和/或展示次数。
  • 通过智能脚本实现的浏览型归因仅适用于移动设备,不适用于PC端。

如需将新增激活归因到相关展示(即浏览型归因):

  1. 请确保在设置智能脚本时使用Smart Script 2.3及以上版本。
  2. 请让开发人员在智能脚本中调用展示函数
  3. 请确保您已在AppsFlyer后台启用浏览型归因

 重要提示!

自2023年2月1日起(即Chrome 110稳定版上线后),Google做出了一些更新,以缩减User-Agent数据。为了确保您能通过OneLink智能脚本正常获取浏览型归因信息,请务必使用OneLink Smart Script 2.3及以上版本。

其他相关信息

常见问题解答

如果用户在网站上浏览了其他网页,相关传入链接是否仍能在OneLink链接生成链路中生效

是的。传入链接中的参数在整个会话(session)过程中都会得到保存,并对智能脚本生成的OneLink链接中的传出参数生效。如需进一步了解部署说明,请移步至我们的开发者资源中心

通过Google Tag Manager部署智能脚本时为什么会出现报错?

部分情况下,您在AppsFlyer后台生成智能脚本并将其添加到Google Tag Manager(GTM)时,界面会弹出“JavaScript too long”的报错消息。发生这类问题时,请删除该GTM tag,并创建一个新的tag。

能否添加未列出的参数?

可以。请在您的OneLink智能脚本页面中点击+新参数,映射其他参数。

  • 新添加的参数可以是自定义参数,也可以是下拉菜单中未列出的AppsFlyer预定义参数。
  • 使用下拉菜单中的“自定义”选项,并在出链参数字段中使用您自定义的参数名。

比如,如需将is_retargeting添加未出链参数,应在映射对象字段中选择“自定义参数”,然后在出链参数字段中输入“is_retargeting”。

Smart_Script_Custom.jpg

下拉菜单中未显示广告组和其他参数

建议在创建或添加新参数时关闭浏览器中的所有广告拦截插件,因为任何带有“Ad”的字眼都可能触发广告拦截插件,导致相关选项被移除。

智能脚本适用于哪些浏览器?

智能脚本使用Javascript,因此正常情况下可以在所有浏览器中生效。

特别事项说明

特别事项 说明
URI scheme 即使OneLink模板中已经设置了为现有用户调起应用的URI scheme,开发人员仍必须将带有该URI scheme的af_dp参数作为一个自定义参数添加到智能脚本生成的链接中。
传入链接中的#号 如果传入链接中的查询参数(即参数中带有“?”号)前出现井号(即“#”),智能脚本在处理该传入链接时会出现问题。发生这种情况时,智能脚本会在生成的链接中使用默认值。