Lowercase D=g | Community
Skip to main content
clintg36
Level 2
June 13, 2018
Solved

Lowercase D=g

  • June 13, 2018
  • 10 replies
  • 3679 views

Hi, I am sure this isn't a new question but I can't find it anywhere in the forums.

I am using 'D=g' in multiple places in our reporting to get the url, we are having a problem however with URLs where one customer enters upper case characters and another customer enters lower case characters. 

How can I force the results of 'D=g' to be either upper or lower case without replacing 'D=g' with a data element that holds the url?

Thanks!

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Gigazelle

You don't actually have to pass the full URL into the prop/eVar(s). Page URL override allows you to still use D=g.

10 replies

jantzen_b
Adobe Employee
Adobe Employee
June 14, 2018

You may need to run the URL through a function to normalize the case. I know basic javascript has an easy method for this.

JavaScript String toLowerCase() Method

Gigazelle​ - is there something within Analytics that the customer can use to normalize case?

clintg36
clintg36Author
Level 2
June 14, 2018

Thanks for responding Jantzen,

I was hoping not to have to transmit and convert the whole url for each time I reference the url.  I would like to have the advantage of using the D=g shorthand, but have the result turned all lowercase when the D=g is converted into a url on the Adobe server end. 

Certainly I could store the URL in a data element and force it lowercase there using DTM or custom code, but then I have a number of large URL strings in every beacon call instead of a quick simple "D=g".  Not to mention a lot of refactoring.

jantzen_b
Adobe Employee
Adobe Employee
June 14, 2018

Yeah, that makes sense. I've tagged our Analytics community manager incase he knows of some tricks in processing rules or some other function of Analytics that might accomplish this.

Gigazelle
Adobe Employee
Adobe Employee
June 14, 2018

You could assign a data element to page URL override, and have the data element use toLowerCase() on the URL.

clintg36
clintg36Author
Level 2
June 14, 2018

Thanks Gigazelle, that was exactly what I was hoping to avoid.  But it sounds like that is my only alternative. I appreciate the confirmation.

Would be nice if when launch comes around we had a "D=gl" or a "d=g" or something to give us this functionality without losing the minified representation. 

jantzen_b
Adobe Employee
Adobe Employee
June 14, 2018

Feel free to suggest an idea in the Launch, by Adobe​ community for something like this.

Gigazelle
Adobe Employee
GigazelleAdobe EmployeeAccepted solution
Adobe Employee
June 14, 2018

You don't actually have to pass the full URL into the prop/eVar(s). Page URL override allows you to still use D=g.

Stewart_Schilling
Community Advisor
Community Advisor
June 14, 2018

Disclaimer - This is perhaps not supported... but at any rate, you might try this:

In your s.doPlugins function, add this line:

s.pageURL = s.pageURL.toLowerCase();

In my tests, I found that this value is the source of s.g when the beacon is composed and transmitted.

Thanks for the question.  I learned something today!

-Stew

Stewart_Schilling
Community Advisor
Community Advisor
June 14, 2018

Oh!

It looks like this is absolutely supported and is the same thing that Gigazelle was referring to.

Link to documentation : pageURL

I think it's super nice to think that I could use this to remove user-specific query string arguments so that URL aggregation would be cleaner / easier.

clintg36
clintg36Author
Level 2
June 20, 2018

Thanks for confirming that it is working for you stewarts16448458 and thanks for the helpful suggestions to everyone.