Introduction: As an industry-leading real-time retail e-commerce platform and a data-driven company, the value of the buried point is becoming increasingly important, and the availability and accuracy of the buried point have become a problem that has been overcome. This article mainly explains some practical experiences of Jingdong Dajia in the work of managing buried point data and improving the quality of buried point data.


What is the burial point

Second, why should we deal with buried points?

Third, how to deal with buried points

     3.1 Establish a unified buried point process

     3.2 Establish and improve the specifications for buried points

     3.3 Establish sound quality specifications

     3.4 Optimize the buried point platform

Fourth, bury the benefits of governance

V. Summary and Outlook

Jingdong’s historical burial point can meet some conventional data analysis, but with the development of the business, the drawbacks of the historical burial point scheme are gradually reflected:

Lack of process planning: there is no unified process specification, key nodes are missing, and it is difficult to bury points online;

Missing design specifications: inconsistent timing of buried point reporting, inconsistent content reported by the same business components, and high data differences;

After several versions of the requirements iteration, we found that the new process of buried point governance has the following advantages:

1) Improve the design quality: the data product has a better understanding of the business, the efficiency of the design buried point has increased by 50%, and the design of the buried point is more comprehensive, such as full attribution, recommended scenarios, etc.;

2) Buried point support expansion, multiplexing: such as commodity components, saving research and development and testing costs, no need to repeat development;

3) The demand for buried points is consistent: saving 30% of the labor cost of data analysis.

3.2.1 Product Specification

We have sorted out the historical buried points and summarized four major types from them, including ep accurate exposure, browsing, clicking, and API interface distribution:

ep accurate exposure: When the resource bit is exposed and a certain condition is reached, under the same interface ID, a certain number of pieces are combined to report.

Example: Forward trigger: pv parameter{current page parameter,ref_par{source page related parameter}}———————————-reverse trigger: pv parameter{current page parameter,ret_Type:back}}

3.2.3 R&D implementation specifications

Buried point development: strictly follow the data product plan, including the timing of reporting and technical rules;

private void addCart(View v) {        if (entity == null || context==null || (context instanceof Activity) && ((Activity) context).isFinishing()) {            return;        } if (entity.getIconType() == 1) { if (isAllCart(params)) { //global shopping cart spu add cart addCartSpu(v);            } else { //mini shopping cart spu add if (context != null & params != null) { String userAction;                    if (! TextUtils.isEmpty(entity.getUserActionSku())) {                        userAction = entity.getUserActionSku();                    } else {                        userAction = entity.getUserAction();                    }                    DataPointUtil.addRefPar(DataPointUtil.transToActivity(context), pageName, “userAction”, userAction, “traceId”, traceId);                    new SpuSelectDialog(context, params).showDialog();                } } //add car monitor spu if (onClickAddListener != null) { onClickAddListener.onClickSpu(v);            } } else { //mini shopping cart sku add if (isMiniCart(params)) { addMiniCartSku(v, params);            } else if (isAllCart(params)) { //global shopping cart sku add CartSku(v, (OnSpuAdapterParams) params);            } // Add car monitor sku if (onClickAddListener != null) { onClickAddListener.onClickSku(v);            } } //sku add car burial point if (params != null && params.getPointData() != null) { pointData.put(“storeId”, entity.getStoreId());            pointData.put(“skuId”, entity.getSkuId());            pointData.put(“spuId”, entity.getSpuId());            pointData.put(“traceId”, traceId);            if (pointData.get(“userAction”) == null) {                if (! TextUtils.isEmpty(entity.getUserActionSku())) {                    pointData.put(“userAction”, entity.getUserActionSku());                } else {                    pointData.put(“userAction”, entity.getUserAction());                }            }            DataPointUtil.addClick(DataPointUtil.transToActivity(context), pageName, “click_add”, pointData);        }    }

With the gradual growth of Jingdong home users and the launch of new projects, the business is becoming more and more complex, and the data quality of the buried point must be guaranteed, and we have to consider the hidden dangers of the buried point to take precautions. Inaccurate reporting of buried point data, the rise in the cost of manually backtracking the core buried point in each version, the increase in the magnitude of the buried point on the storage and the pressure on the server, etc., all require us to have a perfect buried point monitoring mechanism to continuously improve our current situation. The follow-up to the home burial site will focus on continuing on the road of perfect monitoring.