Question: I moved this code from index body into my html editor for the conversion/thankyou page. This Criteo Javascript should push order details to their database. What is going wrong?

```
<!-- Conversionpage htmlblock in js test -->

<body onload="fireConversion()">

<script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script>

<script type="text/javascript">
function fireConversion() {
 var order_info = JSON.parse(ORDER_JSON).order_rows;
 var basketproducts = [];
  for(var i=0;i<order_info.length;i++) {
    basketproducts.push( { id: order_info[i].product_id, price: order_info[i].price, quantity: order_info[i].count});
  }
 var orderid = '[OrderNumber]';
 window.criteo_q = window.criteo_q || [];
 var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";

 window.criteo_q.push( { event: "setAccount", account: 52999 },  { event: "setSiteType", type: deviceType },  { event: "setEmail", email: "" } , { event: "trackTransaction", id: orderid , item: basketproducts });
</script>
}

```

Answer: 
So I was able to make it work. Actually my shared hosting server has blocked the port 27017 which is used for mongodb. Nothing was wrong with the code or configuration. They enabled the port and it worked.
I had the same problem like you . But after using Google's DNS server (8.8.8.8 , 8.8.4.4 ) ,and whitelist my ip address i managed to connect to the MongoDB Atlas.
Hope that's solve your problem