You can use the web tracking feature to collect and analyze the following user information from browsers and mini programs: browser details, browsing behavior, purchase behavior, and dwell time. To upload user behavior information to a Logstore of Simple Log Service, you need to only make minor changes to the service code. For example, you can add trace pixels to frontend pages or integrate web tracking SDK for JavaScript.
Introduction to the web tracking feature
The web tracking feature is used to track user behavior by adding specific code snippets to web pages. You can use the web tracking feature to collect information about interaction between users and websites. The information includes accessed pages, dwell time on the pages, and geographical locations.
The web tracking feature embeds an invisible, 1 x 1 pixel image into a web page. When you access the page, the browser initiates a GET request to the web server, and the server automatically sends parameters in the request URL to Simple Log Service for storage. The parameters are equivalent to user logs in this case. This type of request usually contains user-related information, such as IP addresses, browser types, and operating systems.
You can use the web tracking feature to track user behavior in browsers and mini programs and upload the behavior data to Simple Log Service. Then, you can analyze user behavior in an efficient manner. You can use the web tracking feature to collect the following user information from browsers, iOS apps, and Android apps:
The browsers, operating systems, and resolutions that are used.
The browsing behavior, such as clicks and purchase behavior, on a website.
The dwell time on an app and active users.
Step 1: Turn on WebTracking for a Logstore
If you turn on WebTracking for a Logstore, the write permissions on the Logstore are granted to anonymous users from the Internet. This may generate dirty data because valid authentication is not performed. We recommend that you use Security Token Service (STS) to collect logs. In this case, you do not need to turn on WebTracking for the Logstore. For more information, see the Use the web tracking feature and STS to collect logs section of this topic.
Simple Log Service console
Log on to the Simple Log Service console.
In the Projects section, click the project that you want to manage.
On the
tab, find the Logstore for which you want to turn on WebTracking and choose .On the Logstore Attributes page, click Modify in the upper-right corner.
Turn on WebTracking and click Save.
API
Call the UpdateLogStore operation to turn on WebTracking. You must set the
enable_tracking
parameter to true.
Step 2: Collect logs
Client SDK: Web tracking SDK for JavaScript is integrated in the code to upload logs of custom types to a Logstore. The logs are related to form submission, page submission, and exception reports.
HTTP GET request: The frontend code of a website sends a GET request to collect logs in a simple manner.
HTML img tag: The
src
attribute of the HTML<img>
tag is used to initiate requests to a web server. A request URL references a GIF image. In this case, JavaScript environments and configuration of cross-domain access are not required.API operation: If the amount of requested data is large, you can call API operations by sending POST requests to upload data.
Client SDK
For more information about how to initialize the web tracking SDK and upload logs, see Use web tracking SDK for JavaScript to collect website logs and Use web tracking SDK for JavaScript to collect mini program logs.
HTTP GET request
Run the following command in the curl tool to send an HTTP request and upload logs. Configure parameters based on your business requirements.
curl --request GET 'http://${project}.${host}/logstores/${logstore}/track?APIVersion=0.6.0&key1=val1&key2=val2'
Parameter | Required | Description |
${project} | Yes | The name of the project. |
${host} | Yes | The Simple Log Service endpoint for the region where your project resides. For more information, see Endpoints. |
${logstore} | Yes | The name of the Logstore. |
APIVersion=0.6.0 | Yes | The reserved field. |
__topic__=yourtopic | No | The topic of the logs to upload. |
key1=val1&key2=val2 | Yes | The key-value pairs to upload. You can specify multiple key-value pairs. Make sure that the value size is less than 16 KB. |
HTML img tag
Add the following tags to the frontend pages of your website.
When the
track_ua.gif
image is used, the web server uploads not only custom parameters in requests but also the UserAgent and Referer headers of requests as log fields.To collect the Referer header of requests on HTTPS pages, make sure that the URLs in the following <img> tags use the HTTPS protocol.
<img src='http://${project}.${host}/logstores/${logstore}/track.gif?APIVersion=0.6.0&key1=val1&key2=val2'/>
<img src='http://${project}.${host}/logstores/${logstore}/track_ua.gif?APIVersion=0.6.0&key1=val1&key2=val2'/>
A user visits a website that contains an
<img>
tag.The browser identifies the
<img>
tag and attempts to load the image referenced in the URL specified for thesrc
attribute of the<img>
tag. In this case, the browser sends an HTTP GET request to Simple Log Service to load the image.Simple Log Service parses
key1
,key2
,value1
, andvalue2
in the URL and stores the keys and values.APIVersion
is a reserved field and is not included in logs.Simple Log Service returns an invisible image to the browser.
API operation
Call the PutWebtracking operation to upload logs. For more information, see PutWebtracking.
Use the web tracking feature and STS to collect logs
If you turn on WebTracking for a Logstore, the write permissions on the Logstore are granted to anonymous users from the Internet. This may generate dirty data because valid authentication is not performed. If you use STS to collect logs, you do not need to turn on WebTracking for the Logstore. For more information about the how to initialize the STS plug-in of web tracking SDK for JavaScript and use the plug-in to upload logs, see Use the STS plug-in of web tracking SDK for JavaScript to upload logs.