Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

腾讯广告 - 使用 Marketing API上报用户行为数据 #45

Open
fayeah opened this issue Nov 28, 2020 · 5 comments
Open

腾讯广告 - 使用 Marketing API上报用户行为数据 #45

fayeah opened this issue Nov 28, 2020 · 5 comments

Comments

@fayeah
Copy link
Owner

fayeah commented Nov 28, 2020

最近小程序想要投放广告,希望能根据用户数据来分析,并作出运营方面的决策。首次客户从腾讯那边对接之后发给我们交付团队一份开发文档,需要迅速spike出能否做,做需要多少effort。看了半个小时之后我迅速给到结果。需要几个点是我们需要做的:

快速Spike

  • OAuth授权认证
  • 定期刷新access_token
  • click_id 从URL的参数里面拿到
  • landing page看要不要做
  • 获取用户数据可以调用marketing api

以上是迅速spike的结果 ,因为那个时候我们没有测试账号,也无法验证这些步骤是否可行,也不知道是否需要额外的操作。但是当我们真正做的时候发现其实没有那么麻烦。

真正实现

  1. 生成测试账号,这个账号包含开发者测试账号,同时也包含广告主的账号(从DMP平台可以查看接入的数据),但是这个地方需要填写企业的相关信息,所以在填写qq等信息的时候要用公用的qq账号 ,防止后续员工调动带来的影响;另外在DMP平台我们必须要公司上传企业法人等相关的信息,这个地方我们是让客户自己去上传的。
    image

image

  1. 创建应用(私有应用或者是第三发应用),用于打通生产环境的API调用。我们这里只说第三方应用,可以看到需要填写一个回调地址,这个地址用于后续广告主授权之后跳转的那个页面,同时会带上token参数。
    image

  2. 通过应用的相关信息,打开提供的链接,获取authorization_code。链接类似于:https://developers.e.qq.com/oauth/authorize?client_id=123456&redirect_uri=https%3a%2f%2fwww.example.com%3fpara1%3da%26para2%3db&state=&scope=ads_management&account_type=ACCOUNT_TYPE_QQ。
    需要开发者相应地改掉参数。

  3. 根据authorization_code生成access_token,是因为接口的通用参数包含access_token,而为了快速上线该功能,定时刷新的需求是被砍掉了的。生成access_token 的API:

API: https://api.e.qq.com/oauth/token
Method: Get
Query params:
image

  1. 生成用户数据源:

API: https://api.e.qq.com/v1.1
Method: Get
Query params:
image

  1. 根据以上参数加上其他的一些参数调用Marketing API进行用户行为数据上报,去DMP平台查看接入的数据。

API: https://api.e.qq.com/v1.3/user_actions/add
Method: POST
Query params:
image

Request body:
{
"actions":[
{
"action_time":1605668193,
"action_type":"VIEW_CONTENT",
"user_id":{
"wechat_openid":${user_open_id},
"wechat_unionid":null,
"wechat_app_id": ${app_id}
},
"trace": {
"click_id":${click_id} //wx0fzoqjbewm****
} //这个地方要注意trace是放在actions里的,注意结构,否则腾讯广告后台收不到clickid对应的数据
}
],
"account_id":${account_id},
"user_action_set_id":${user_action_set_id}
}

  1. DMP数据接入示例:

image

Note:
关于clickid的说明和获取方式以及 还有其他的参数比如广告id也可以获取得到 :
image
image

References:

  1. 腾讯广告开发文档
  2. DMP数据管理平台
  3. 广告的转化跟踪
@rebider
Copy link

rebider commented Jul 22, 2021

我想请问一下 开发测试的时候 CLICK_ID 如何获取 ?

@fayeah
Copy link
Owner Author

fayeah commented Jul 23, 2021

我想请问一下 开发测试的时候 CLICK_ID 如何获取 ?

click_id在开发阶段是没办法获取到的,需要打通之后才能获取到,不过问题不大,一般来讲流程没问题就可以得到;而且这个不是用户交互层面的操作,是主体在获取用户数据,所以即便上线之后发现数据跟预期不对,可以再调试的,不过最好能打log,看到日志,根据日志追踪问题。

@rebider
Copy link

rebider commented Jul 23, 2021 via email

@fayeah
Copy link
Owner Author

fayeah commented Jul 23, 2021

广告发布之后能获取到测试环境不?他官方说明实在过少

------------------ 原始邮件 ------------------ 发件人: "Nikita @.>; 发送时间: 2021年7月23日(星期五) 中午12:28 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [fayeah/blogs] 腾讯广告 - 使用 Marketing API上报用户行为数据 (#45) 我想请问一下 开发测试的时候 CLICK_ID 如何获取 ? click_id在开发阶段是没办法获取到的,需要打通之后才能获取到,不过问题不大,一般来讲流程没问题就可以得到;而且这个不是用户交互层面的操作,是主体在获取用户数据,所以即便上线之后发现数据跟预期不对,可以再调试的,不过最好能打log,看到日志,根据日志追踪问题。 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

有沙盒环境可以测试API,这个主要还是看你公司/客户主体,需要他们提供企业信息,对接腾讯的OD等角色,有问题随时问腾讯的人,他们会解决,因为广告这个是要付费的。我们开发自己单独无法完成广告任务的……主要的是账号,流程,开发的effort很小。

@rebider
Copy link

rebider commented Jul 23, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants