Search code examples
javascriptajaxgoogle-ads-apiconversion-tracking

Google Conversion tracking success callback


I am calling google conversion tracking code on success of an ajax call. I have to change the window location on success of ajax and track the conversion at the same time.

Is there any way to receive the callback of conversion tracking success, so that I can change the window location on tracking success?

My code looks like :

Tracking works when I do this :

var oReq = getXMLHttpRequest();
if (oReq != null) {
    oReq.open("POST", "http://www.example.com/index.php?r=user/create-mobile-user", true);
    oReq.onreadystatechange = function handler() {
        if (oReq.readyState == 4) {
            if (oReq.status == 200) {
                window.google_trackConversion ({
                    google_conversion_id: 946425313,
                    google_conversion_language: "en",
                    google_conversion_format: "3",
                    google_conversion_color: "ffffff",
                    google_conversion_label: "7P62CPrGtl4Q4ZulwwM",
                    google_remarketing_only: false
                });
            }
        }
    }
}

Doesn't work in the below code :

var oReq = getXMLHttpRequest();
if (oReq != null) {
    oReq.open("POST", "http://www.example.com/index.php?r=user/create-mobile-user", true);
    oReq.onreadystatechange = function handler() {
        if (oReq.readyState == 4) {
            if (oReq.status == 200) {
                window.google_trackConversion ({
                    google_conversion_id: 946425313,
                    google_conversion_language: "en",
                    google_conversion_format: "3",
                    google_conversion_color: "ffffff",
                    google_conversion_label: "7P62CPrGtl4Q4ZulwwM",
                    google_remarketing_only: false
                });
                window.location.href = "http://www.example.com/booking";
            }
        }
    }
}

Solution

  • Answering my own question :

    You can pass a callback function in the json given to google_trackConversion function.

    Following is the working code :

     window.google_trackConversion({
      google_conversion_id: 946425313,
      google_conversion_language: "en",
      google_conversion_format: "3",
      google_conversion_color: "ffffff",
      google_conversion_label: "7P62CPrGtl4Q4ZulwwM",
      google_remarketing_only: false,
      onload_callback: function() {
         window.location.href = "http://www.example.com/booking";
      }
     });