Expand my Community achievements bar.

Announcing the launch of new sub-community for Campaign Web UI to cater specifically to the needs of Campaign Web UI users!
SOLVED

ACC WebApp UTM REFERRER

Avatar

Community Advisor

I am trying to come up with the best approach to capture traffic source on a WebApp..

 

I would like to identify if a user came through a particular campaign using UTM tags i.e ( 'utm_source','utm_medium','utm_campaign','utm_content') and possibly referrer.

 

Has anyone done something similar? I am thinking the only way to acomplish this is to create a script in jquery/javascript and pull the parameters from the url and store them in local ctx variables for further manipulation?

 

Can someone suggest an alternative approach?

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Here is my proposed approach which is working, it would be nice to know how others are achiving the same results.

 

 

<script type = "text/javascript" >
    var queryForm = function(settings) {
        var reset = settings && settings.reset ? settings.reset : false;
        var self = window.location.toString();
        var querystring = self.split("?");
        if (querystring.length > 1) {
            var pairs = querystring[1].split("&");
            for (i in pairs) {
                var keyval = pairs[i].split("=");
                if (reset || sessionStorage.getItem(keyval[0]) === null) {
                    sessionStorage.setItem(keyval[0], decodeURIComponent(keyval[1]));

                    if (pairs[i].indexOf('utm_source') > -1) {
                        document.controller.setValue('/ctx/vars/utm_source', keyval[1])
                    }

                    if (pairs[i].indexOf('utm_medium') > -1) {
                        document.controller.setValue('/ctx/vars/utm_medium', keyval[1])
                    }

                    if (pairs[i].indexOf('utm_campaign') > -1) {
                        document.controller.setValue('/ctx/vars/utm_campaign', keyval[1])
                    }

                    if (pairs[i].indexOf('utm_content') > -1) {
                        document.controller.setValue('/ctx/vars/utm_content', keyval[1])
                    }

                }
            }
        }
    }
setTimeout(function() {
    queryForm();
}, 3000);
 </script>

 

 The script iterates through tags found on the URL and assigns the values for our defined tags to webapp variables which can then be used to store in ACC.

View solution in original post

1 Reply

Avatar

Correct answer by
Community Advisor

Here is my proposed approach which is working, it would be nice to know how others are achiving the same results.

 

 

<script type = "text/javascript" >
    var queryForm = function(settings) {
        var reset = settings && settings.reset ? settings.reset : false;
        var self = window.location.toString();
        var querystring = self.split("?");
        if (querystring.length > 1) {
            var pairs = querystring[1].split("&");
            for (i in pairs) {
                var keyval = pairs[i].split("=");
                if (reset || sessionStorage.getItem(keyval[0]) === null) {
                    sessionStorage.setItem(keyval[0], decodeURIComponent(keyval[1]));

                    if (pairs[i].indexOf('utm_source') > -1) {
                        document.controller.setValue('/ctx/vars/utm_source', keyval[1])
                    }

                    if (pairs[i].indexOf('utm_medium') > -1) {
                        document.controller.setValue('/ctx/vars/utm_medium', keyval[1])
                    }

                    if (pairs[i].indexOf('utm_campaign') > -1) {
                        document.controller.setValue('/ctx/vars/utm_campaign', keyval[1])
                    }

                    if (pairs[i].indexOf('utm_content') > -1) {
                        document.controller.setValue('/ctx/vars/utm_content', keyval[1])
                    }

                }
            }
        }
    }
setTimeout(function() {
    queryForm();
}, 3000);
 </script>

 

 The script iterates through tags found on the URL and assigns the values for our defined tags to webapp variables which can then be used to store in ACC.