了解智能脚本函数 只要按照营销人员要求进行设置,智能脚本就能提供精准的网页到应用归因。如果开发者需要进行其他更改,可以自定义脚本。阅读下文,了解智能脚本中的不同属性和函数,并参考对应示例。
设置日志级别 如有必要,请使用 setLogLevel 函数,在浏览器控制台中设置日志级别。请在调用 createLink 函数前调用该函数。参数为 debug、warn、error 或 none。默认日志级别值为 debug。
AdjustSmartScript.setLogLevel('warn')
创建链接 使用 createLink 函数,创建带有指定映射对象属性的 Adjust 链接。
const mapping = { /* mapping object properties */ }
AdjustSmartScript.createLink(mapping)
获取脚本版本 使用 getVersion 函数检查智能脚本版本。
AdjustSmartScript.getVersion()
您必须向 createLink
方法传递 mapping
对象。请务必在 mapping
对象中定义以下属性。
defaultLinkToken
(string
)在无可用链接识别码或未提供渠道配置的情况下使用的链接识别码。 campaign
(object
)包含推广活动信息的对象。 adgroup
(object
)包含广告组信息的对象。 creative
(object
)包含素材信息的对象。 campaign
、adgroup
和creative
对象必须包含以下属性:
in
(string | string[]
)字符串或字符串数组,作为推广活动、广告组或素材名称的 URL 搜索字符串查询键。 如果传递数组,脚本会在 GET 参数中查找名称,并将所有存在的名称传递至 transform
函数。否则,脚本会以第一个不为空的值作为推广活动、广告组或素材的名称。 您还可以选择提供以下属性:
transform
(function
)调用值为 in
的函数,返回的字符串值是推广活动、广告组或素材的最终名称。如果 transform
未返回字符串,或返回错误,脚本会以第一个不为空的值作为推广活动、广告组或素材的名称。 defaultValue
(string
)在 transform
函数未找到 in
值时使用。 如果您已经采用了深度链接,那么请务必在 mapping
对象中定义以下参数。
domain
(string
)品牌化域名。 如果您尚未采用深度链接,则可以选择自定义品牌化域名。如果未指定域名,则会创建 app.adjust.com
链接。 iosAppSchema
(string
)iOS 应用 Scheme。 androidAppSchema
(string
)Android 应用 Scheme。 如果您已经采用了深度链接,就可以选择指定下列参数。
iosDeeplinkPath
(string
)iOS 深度链接路径。 androidDeeplinkPath
(string
)Android 深度链接路径。 您可以选择在 mapping
对象中定义以下属性。
inputUrl
(string
)移动网页落地页 URL。如果未提供值,脚本会使用 window.location.href
值作为当前页面 URL。 label (
object`)
您可以使用该参数发送自定义数据。请查看帮助中心文档,了解更多详情。
networks
(object
)包含渠道信息的键值对象。 networks
对象必须包含至少一个代表渠道名称的键。受支持的键如下:
该值必须是包含以下属性的对象:
linkToken
(string
)键中定义的渠道的链接识别码。 customParameters
(object
)包含自定义参数信息的对象。 customParameters
对象必须包含以下属性:
in
(string | string[]
)字符串或字符串数组,作为自定义名称的 URL 搜索字符串查询键。 如果传递数组,脚本会在 GET 参数中查找名称,并将所有存在的名称传递至 transform
函数。否则,脚本会以第一个不为空的值作为自定义名称。 out
(string
)一个字符串,指定要写入 Adjust 链接的自定义参数名称。 您还可以选择提供以下属性:
transform
(function
)调用值为 in
的函数,返回的字符串值是最终自定义名称。如果 transform
未返回字符串,或返回错误,脚本就会以第一个不为空的值作为自定义名称。 defaultValue
(string
)在 transform
函数未找到 in
值时使用。 全部展开
const mapping = {
inputUrl: "https://www.landing.com?campaign_name=Summer2024&ad_group=SomeGroup",
defaultLinkToken: "abcd123",
campaign: { in: "campaign_name" },
adgroup: { in: "ad_group" },
creative: { in: "element" }
}
const link = AdjustSmartScript.createLink(mapping);
console.log(link)
// expected output: https://app.adjust.com/abcd123?campaign=Summer2024&adgroup=SomeGroup
const mapping = {
defaultLinkToken: "abcd1234",
networks: {
meta: { linkToken: 'efgh5678'},
google_ads: { linkToken: 'ijkl9012' }
},
campaign: { in: "c" },
adgroup: { in: "a" },
creative: { in: "cr" }
}
const link1 = AdjustSmartScript.createLink({
...mapping,
inputUrl: "https://www.landing.com?c=Summer2024&a=SomeGroup&cr=banner&gclid=CLICK_ID"
});
console.log(link1)
// expected output: https://app.adjust.com/ijkl9012?gclid=CLICK_ID&campaign=Summer2024&adgroup=SomeGroup&creative=banner
const link2 = AdjustSmartScript.createLink({
...mapping,
inputUrl: "https://www.landing.com?c=Winter2025&a=AnotherGroup&cr=image&fbclid=FB_CLICK_ID"
});
console.log(link2)
// expected output: https://app.adjust.com/efgh5678?fbclid=FB_CLICK_ID&campaign=Winter2025&adgroup=AnotherGroup&creative=image
使用 "transform" 和 "defaultValue" 属性改写 Adjust 链接中的值
const mapping = {
inputUrl: "https://www.landing.com?utm_content=logo_image&utm_medium=social&utm_source=some-source&utm_campaign=new_campaign",
defaultLinkToken: "example123",
domain: "branded.go.link",
campaign: {
in: "utm_campaign",
defaultValue: "dummy-name"
},
adgroup: {
in: ["utm_source", "utm_medium"],
transform: function(values) { return (values[0] && values[1]) ? `${values[0]}: ${values[1]}` : undefined; }
},
creative: {
in: "utm_content",
transform: function(values) { return values[0] ? `ad_${values[0]}` : 'ad_default' }
}
}
const link = AdjustSmartScript.createLink(mapping);
console.log(link)
// expected output: https://branded.go.link?adj_token=example123&adj_campaign=new_campaign&adj_adgroup=some-source%3A%20social&adj_creative=ad_logo_image
const mapping = {
inputUrl: "https://www.landing.com?user_id=id&cr=logo_image&ad=some_adset&c=new_campaign&product=my_product",
domain: "example.go.link",
defaultLinkToken: "abcd1234",
campaign: { in: "c" },
adgroup: { in: "ad" },
creative: { in: "cr" },
customParameters: [{
in: ['product', 'user_id'],
out: 'ref_code',
transform: function (values) {
const product = values[0]
const userId = values[1]
if (product && userId) {
return `${userId}+${product}`
}
return ''
}
}]
}
const link = AdjustSmartScript.createLink(mapping);
console.log(link)
// expected output: https://example.go.link?adj_token=abcd1234&adj_campaign=new_campaign&adj_adgroup=some_adset&adj_creative=logo_image&ref_code=id%2Bmy_product
iOS 深度链接
const mapping = {
inputUrl: "https://www.landing.com?&cr=logo_image&ad=some_adset&c=new_campaign",
domain: "example.go.link",
defaultLinkToken: "abcd1234",
campaign: { in: "c" },
adgroup: { in: "ad" },
creative: { in: "cr" },
iosAppSchema: "app",
iosDeeplinkPath: "path/to/screen",
}
const link = AdjustSmartScript.createLink(mapping);
console.log(link)
// expected output: https://example.go.link/path/to/screen?adjust_t=abcd1234&adj_campaign=new_campaign&adj_adgroup=some_adset&adj_creative=logo_image
Android 深度链接
const mapping = {
inputUrl: "https://www.landing.com?&cr=logo_image&ad=some_adset&c=new_campaign",
domain: "example.go.link",
defaultLinkToken: "abcd1234",
campaign: { in: "c" },
adgroup: { in: "ad" },
creative: { in: "cr" },
androidAppSchema: "scheme",
androidDeeplinkPath: "some/path",
}
const link = AdjustSmartScript.createLink(mapping);
console.log(link)
// expected output: https://example.go.link/some/path?adjust_t=abcd1234&adj_campaign=new_campaign&adj_adgroup=some_adset&adj_creative=logo_image
iOS 和 Android 深度链接
const mapping = {
inputUrl: "https://www.landing.com?&cr=logo_image&ad=some_adset&c=new_campaign",
domain: "example.go.link",
defaultLinkToken: "abcd1234",
campaign: { in: "c" },
adgroup: { in: "ad" },
creative: { in: "cr" },
androidAppSchema: "scheme",
androidDeeplinkPath: "some/path",
iosAppSchema: "app",
iosDeeplinkPath: "path/to/screen",
}
const link = AdjustSmartScript.createLink(mapping);
console.log(link)
// expected output: https://hello.go.link/path/to/screen?adjust_t=abcd1234&adjust_deeplink=scheme%3A%2F%2Fsome%2Fpath&adj_campaign=new_campaign&adj_adgroup=some_adset&adj_creative=logo_image
智能脚本会在浏览器的控制台中输出日志。我们建议您使用指定的映射,测试脚本的运行情况,确保生成正确的链接。
在您的浏览器中找到开发者工具控制台。 导航到已部署智能脚本的网页。 如果没有带有 [adjust-smart-script]
前缀的日志,请刷新页面。如果仍未看到任何日志,请按照下方说明仔细检查:您的代码没有通过 AdjustSmartScript.setLogLevel('error')
或 AdjustSmartScript.setLogLevel('none')
调用来禁用日志记录。 您的代码调用 AdjustSmartScript.createLink(params)
函数。 通过 inputUrl
属性的不同值,您可以测试不同的用例。假设您正在开展 Meta 推广活动,预计会有自然用户访问您的落地页。那么,您可以使用一个带有推广活动和 Meta 参数的 URL,同时使用另一个不带任何额外参数的 URL。
日志示例:
[adjust-smart-script]: No networks configured
[adjust-smart-script]: Use defaultLinkToken to create adjust link
[adjust-smart-script]: Found value for campaign is new_campaign
[adjust-smart-script]: Found value for adgroup is some_adset
[adjust-smart-script]: Found value for creative is logo_image
[adjust-smart-script]: Transformed value for ref_code is id+my_product
[adjust-smart-script]: Misconfigured deep link: no valid androidAppSchema provided