Querystring params in Datalayer are case-sensitive ?

Gold Contributor
Gold Contributor
I have a parameter called "CustomerCode" in my query string. To collect it through datalayer, do I need to create a data source with exactly same name as "CustomerCode" or is there any way to create a datasource as "customercode" (all lowercase) and still able to get the value ?
23 REPLIES 23

Querystring params in Datalayer are case-sensitive ?

Employee Emeritus

Hi Ravi, this will depend on which version of utag.js you are using in the profile. Prior to version v4.26, query string parameters were automatically lowercased and with versions v4.26 and higher they are not (more info: https://community.tealiumiq.com/t5/uTag/utag-js-4-26-Release-Notes/ta-p/11907) To check which version of utag.js you are using: 1) click on your username/email address in the upper right-hand corner of Tealium iQ. 2) from the admin menu, click on "Tag Status Checker" 3) Easiest to select either "Full Scan" or "Active Tags" from the pop up 4) in the results screen, find the uTag Loader row and scan across to the Version column. If the version of uTag Loader is 4.26 or higher and there are no utag configuration over-rides being used then when adding the query parameter to the Data Layer tab you will need to make sure the case matches exactly. If the version of uTag Loader is lower than 4.26 or the lowerqp configuration override is being used then the query parameter and it's value are automatically lower cased and you should add it to your data layer tab in that fashion.

Querystring params in Datalayer are case-sensitive ?

Gold Contributor
Gold Contributor
Thanks Clint for the explanation. My utag loader version is 4.34, so automatic lower case wont happen. But you mentioned "lowerqp configuration override", is this something i can use use to convert query parameter to lowercase ? If so, can you please tell its usage details...

Querystring params in Datalayer are case-sensitive ?

Employee Emeritus

Instructions on how to use configuration overrides are towards the end of the utag v4.26 release notes I linked to previously (https://community.tealiumiq.com/t5/uTag/utag-js-4-26-Release-Notes/ta-p/11907) Keep in mind that using this override will lowercase not only the key but the value as well.

Querystring params in Datalayer are case-sensitive ?

Gold Contributor
Gold Contributor

I found this since I'm trying to do the same thing. I want to capture query string parameters regardless of case. In other words, I don't want to have (like I currently do) two separate extensions to capture "Promo" and "promo", etc.

 

I clicked on the link above but got an error message saying I don't have sufficient permissions to view it.

Querystring params in Datalayer are case-sensitive ?

Employee Emeritus

Whoops @gelerind! Thank you for pointing this out. Just fixed it. Let me know if you see any other issues like this.

Remember to give me a kudo if you like my post! Accepting my post as a solution is even better! Also remember that search is your friend.

Querystring params in Datalayer are case-sensitive ?

Gold Contributor
Gold Contributor

Out of curiosity, and I apologize if I'm straying too far from the topic, but is there a similar way of lowercasing the entire URL as well?

Querystring params in Datalayer are case-sensitive ?

Employee Emeritus

Hello again @gelerind. I know there is the Lower-Casing Extension however, I do not know if it will work for URLs. Let me see if I can find someone to help answer that question for you. In the meantime, take a look at the extension and tell me what you think. 

Remember to give me a kudo if you like my post! Accepting my post as a solution is even better! Also remember that search is your friend.

Querystring params in Datalayer are case-sensitive ?

Gold Contributor
Gold Contributor

Thanks, @kathleen_jo. We are using that extension as well, but it only deals with the variable contents.

Querystring params in Datalayer are case-sensitive ?

Employee Emeritus

Let me go find somebody who would know @gelerind. Stay tuned... :-)

Remember to give me a kudo if you like my post! Accepting my post as a solution is even better! Also remember that search is your friend.

Querystring params in Datalayer are case-sensitive ?

Tealium Employee

@gelerind

 

To lowercase the URL you would need to use a "Set Data Values" extension:

 

lowercase_url.png

Adrian

Ask me anything Tealium related or TypeScript/JavaScript, or NodeJS.
Please remember to mark solutions as accepted for future searchers.

Querystring params in Datalayer are case-sensitive ?

Gold Contributor
Gold Contributor

Thanks @adrian_browning! But why would I do it after load rules? Wouldn't I want that to be a preloader, like the lowercasing of the query string? And I'm assuming that the url in the first field is the DOM url, not a separate UDO of the same name?

Querystring params in Datalayer are case-sensitive ?

Tealium Employee

@gelerind

 

My apologies, you would have wanted to set the scope to Before Load Rules, to allow for testing in a Load Rule.

 

This over rides the in built URL variable. If you wanted to define your own in a pre-loader and lowercase it you could.

However, Preloader scope is too early to access the utag version of the URL variable.

Ask me anything Tealium related or TypeScript/JavaScript, or NodeJS.
Please remember to mark solutions as accepted for future searchers.

Querystring params in Datalayer are case-sensitive ?

Gold Contributor
Gold Contributor

@adrian_browning

 

Thanks! I'll give it a go. But, how is it that I have access to the query string in a preloader when I run the script to lowercase the entire query string, but I don't have access to the URL to lowercase that?

Querystring params in Datalayer are case-sensitive ?

Gold Contributor
Gold Contributor

@adrian_browning So, I tried it, and I thought it was working at first, but, as of this morning, it seems like it isn't actually taking and I was somehow seeing some false positives yesterday. 

 

One thing I notice is that it says the Execution part only works post utag version 4.38. I'm not 100% sure which version we're on. When I go to the Versions tab, and click on "View utag.js" the top of the file says:

 

utag.loader ut4.0.201604201558

 

Does that mean this whole thing won't work for me?

Querystring params in Datalayer are case-sensitive ?

Tealium Employee

@gelerind

 

So 3 ways to find out

 

1) Run the tag status checker

      https://community.tealiumiq.com/t5/Tealium-iQ/Tag-Status-Checker/ta-p/5127

 

2) In the Tag Template search for "ut4"

 

utagLoader1.png

or

utagLoader2.png

 

3) On a website with the utag on run:

 

utag.cfg.v

utag_cfg_v.png

 

 

Adrian

Ask me anything Tealium related or TypeScript/JavaScript, or NodeJS.
Please remember to mark solutions as accepted for future searchers.

Querystring params in Datalayer are case-sensitive ?

Gold Contributor
Gold Contributor

Ok, so I found that the version is, in fact what I posted above. Which is lower than 4.4.

 

I also notice that it seems that the lowercasing the URL isn't working. I say that because, the way we're using s.pageName in Adobe (Pages report) is to let it be the default which, if I'm reading it right, is the URL. However, despite this extension, it's still showing up mixed case in the report. This makes me suspect that the URL isn't actually getting lowercased.

 

My problem is also that I'm not sure which suite (Tealium or Adobe) is the one dropping the ball here so I'm trying to troubleshoot from both sides.

 

So far you guys have been much more responsive than Adobe, so that's why I'm asking more here. :)

 

Thoughts as to what might be happening?

Querystring params in Datalayer are case-sensitive ?

Tealium Employee

@gelerind

 

First question would be are you allowing SiteCat to auto map PageName or are you mapping URL from Tealium?

 

That would be the first thing I check, else I would suggest raising a support ticket:

 

https://community.tealiumiq.com/t5/custom/page/page-id/support-contact-form

 

And then someone can walk you through your configuration and work out what's going wrong.

 

Adrian

Ask me anything Tealium related or TypeScript/JavaScript, or NodeJS.
Please remember to mark solutions as accepted for future searchers.

Querystring params in Datalayer are case-sensitive ?

Gold Contributor
Gold Contributor

It's auto-mapping.

 

But I'm in the middle of trying something else right now. I'll keep you posted!

 

Thanks!

Querystring params in Datalayer are case-sensitive ?

Gold Contributor
Gold Contributor

Nope. Nothing's worked so far. I think this is an Adobe issue. I've contacted them.

Querystring params in Datalayer are case-sensitive ?

Employee Emeritus

Let us know what they say @gelerind. I'm curious to know. 

Remember to give me a kudo if you like my post! Accepting my post as a solution is even better! Also remember that search is your friend.

Querystring params in Datalayer are case-sensitive ?

Gold Contributor
Gold Contributor

As of yet, no response. But I'm still very confused as to WHERE s.pageName is being set. Pre-Tealium, there was the s_code and it was very customized before I showed up and it was clearly in there. However, now, with Tealium, it's not present in the template at all. There are a few places that reference pageName but none that actually set it.

 

I was thinking it wasn't set until Adobe got its hands on it, but now I think that it's set while still in Tealium, but I can't find where.

Querystring params in Datalayer are case-sensitive ?

Employee Emeritus

Hi @gelerind. I have asked your account manager @nicole_burt to assist you. Thank you for your patience and keep us updated on your progress!

Remember to give me a kudo if you like my post! Accepting my post as a solution is even better! Also remember that search is your friend.

Querystring params in Datalayer are case-sensitive ?

Employee Emeritus

Hi @gelerind - I will send you an email shortly and get us some technical support to assist as well.

-Nicole

Public