use this code in to specific page  to track the user visited page----


---------_Root.Head.cshtml-------
<script>
    var trackingKey = 'utm_source'; //key of the tracking parameter
    var trackingValue = "criteo"; // value of the tracking parameter
    var cookie = "crtg_dd"; // cookie name where the dd value will be stored
    var days = 30; // cookie life time in days
    cr_readTracking(trackingKey, trackingValue);


    function cr_readTracking(key, value) {
        var query = window.location.search.substring(1);
        var vars = query.split("&");
        for (var i = 0; i < vars.length; i++) {
            //cr_createCookie(cookie, 1, days);
            var pair = vars[i].split("=");
            if (pair[0] == key) {
                if (pair[1] == value) {
                    cr_createCookie(cookie, 1, days);
                }
                else {
                    cr_createCookie(cookie, 0, days);
                }
            }
        }
    };

    function cr_createCookie(cookie, value, days) {
        var d = new Date();
        d.setTime(d.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "expires=" + d.toUTCString();
        document.cookie = cookie + "=" + value + ";" + expires + "; path=/";
    };
</script>

------------index.cshtml-----------
@{
var customerEmail = EngineContext.Current.Resolve<IWorkContext>().CurrentCustomer.Email;
}
<script type="text/javascript">
    var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
    window.criteo_q = window.criteo_q || [];
    window.criteo_q.push(
        { event: "setAccount", account: ##### },
        { event: "setEmail", email: "@customerEmail" },
        { event: "setSiteType", type: deviceType },
        { event: "viewHome" }
    );
</script>

----------CategoryTemplate.ProductsInGridOrLines.cshtml---------
@{
var customerEmail = EngineContext.Current.Resolve<IWorkContext>().CurrentCustomer.Email;
}

<script type="text/javascript">
    var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
    window.criteo_q = window.criteo_q || [];
    window.criteo_q.push(
        { event: "setAccount", account: #####},
        { event: "setEmail", email: "@customerEmail" },
        { event: "setSiteType", type: deviceType },
        { event: "viewList", item: [ @Model.Products[0].Id, @Model.Products[1].Id, @Model.Products[2].Id] }
    );
</script>

---------ProductTemplateGroup.cshtml And ProductTemplateSimple-------------------
@{
var customerEmail = EngineContext.Current.Resolve<IWorkContext>().CurrentCustomer.Email;
}
<script type="text/javascript">
    var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
    window.criteo_q = window.criteo_q || [];
    window.criteo_q.push(
        { event: "setAccount", account: #####},
        { event: "setEmail", email: "@customerEmail" },
        { event: "setSiteType", type: deviceType},
        { event: "viewItem", item: @Model.Id }
    );

</script>

------------ Cart.cshtml----------------
<script type="text/javascript">
    var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
    window.criteo_q = window.criteo_q || [];
    window.criteo_q.push(
    { event: "setAccount", account: #####},
    { event: "setEmail", email: "@customerEmail" },
    { event: "setSiteType", type: deviceType},
    {
        event: "viewBasket", item: [
            @foreach (var item in @Model.Items)
                {
                    var currencyWithPrice = (@item.UnitPrice).ToString();
                    currencyWithPrice = currencyWithPrice.Replace(",", "");
                    var currencyWithoutPrice = currencyWithPrice.Replace("?", "");
                    <text>  {
                    'id': '@item.ProductId',
                    'price': '@currencyWithoutPrice',
                    'quantity': '@item.Quantity'
                }, </text>

                }
        ]
    });
</script>
--------Completed.cshtml--------------
@{
    var customerEmail = EngineContext.Current.Resolve<IWorkContext>().CurrentCustomer.Email;
    var orderItems = EngineContext.Current.Resolve<IOrderService>().GetAllOrderItems(Model.OrderId, null, null, null, null, null, null);
}
<script type="text/javascript">
    var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
  
    // Read the value of the cookie and return the value. In case the cookie is not found, return default value &quot;0&quot;

    function cr_getCookie(c_name) {
        var i, x, y, ARRCookies = document.cookie.split(";");
        for (i = 0; i < ARRCookies.length; i++)
        {
            x = ARRCookies[i].substr(0, ARRCookies[i].indexOf("="));
            y = ARRCookies[i].substr(ARRCookies[i].indexOf("=") + 1);
            x = x.replace(/^\s+|\s+$/g, "");
            if (x == c_name)
            {
                return unescape(y);
            }
        }
        return "0";
    }
    // Sample function that shows how the deduplication value can be set by using the function cr_getCookie

    window.criteo_q = window.criteo_q || [];
    window.criteo_q.push(
    { event: "setAccount", account: #####},
    { event: "setEmail", email: "@customerEmail" },
    { event: "setSiteType", type: deviceType },
    {
        event: "trackTransaction",
        id: @Model.OrderId,
        deduplication: cr_getCookie("crtg_dd"),
        item: [
            @foreach (var item in orderItems)
                {
                    <text>  {
                        'id': '@item.Product.Id',                                      
                        'price': '@item.Product.Price',          
                        'quantity': '@item.Quantity'        
                    }, </text>

                }
        ]
    });
    
</script>



----------------------------------  If the Post Is helpful Please Vote Up.

Thanks advance for watching my post
Best regard
Bibhuti Barai