跨域多站点独立用户分析

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

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. 各个站点的准备工作, 在页面添加如下代码:

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

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

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

你可能感兴趣的:(cookie,dsp,cookiemap,练习)