跨域多站点独立用户分析

问题:如何把不同站点的用户进行关联起来

A、B、C、D 多个站点可能是一级域名相同, 可能是完全两个不同的域名, 如何把多个站点儿的用户关联起来那?

 

实例:假设要计算A、B、C、D的独立用户数

1. 准备cookeicenter 服务

import org.springframework.web.bind.annotation.*;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;
import java.util.UUID;
import java.util.logging.Logger;

@RestController
public class CookieController {

    private Logger logger = Logger.getLogger(CookieController.class.getName());

    @GetMapping(value = "/cc/g")
    public void cookieGenerate(HttpServletResponse response,
                            @CookieValue(value = "unionid",required = false) String unionid,
                            @RequestParam(value = "openid",required = false) String openid,
                            @RequestParam(name = "domainid", required = false) String domainid){
        logger.info("unionid:" + unionid  + " openid:" + openid + " domainid: " + domainid);
        if(unionid != null){
            logger.info("use old cookie");
        }else {
            String unionidNew = UUID.randomUUID().toString().replaceAll("-", "");
            Cookie cookie = new Cookie("unionid", unionidNew);
            cookie.setMaxAge(30*24*60*60); // 一个月
            cookie.setPath("/");
            response.addCookie(cookie);
            logger.info("new cookie:" + unionidNew);
        }
    }
}

unionid是cookiecenter 服务的唯一标识

openid是各个不同站点的客户端标识, 例如cookiie

domain是各个不同站点的自定义标识

2. 各个站点的准备工作, 在页面添加如下代码:

<img src="http://cookiecenter.com/cc/g" width="0" height="0"></td>

3. 这样当我们访问不同站点的时候,cookiecenter 服务端就会进行日志打点工作,完成后续的统计就可以了。

如果要做用户的关联分析,需要携带每个站点不通的openid.

4. 其他: 改方法使用不同站点交换数据, unionid成为各个站点之间的唯一标识, 这样各个系统就可以根据unionid交换数据。cookiemaping, 单点登录,数字广告投放原理类似。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值