Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Lowercase D=g

clintg36
Level 2
Level 2

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!

1 Accepted Solution
Gigazelle
Correct answer by
Employee
Employee

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.

View solution in original post

10 Replies
jantzen_belliston-Adobe
Community Manager
Community Manager

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
Level 2
Level 2

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_belliston-Adobe
Community Manager
Community Manager

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
Employee
Employee

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

clintg36
Level 2
Level 2

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_belliston-Adobe
Community Manager
Community Manager

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

Gigazelle
Correct answer by
Employee
Employee

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.

View solution in original post

StewSchilling
Community Advisor
Community Advisor

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

StewSchilling
Community Advisor
Community Advisor

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
Level 2
Level 2

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