Expand my Community achievements bar.

Have s.clearVars clear pageName too!

Avatar

Level 7

6/12/18

It looks like currently s.clearVars clears just about everything BUT pageName:
function(){var c,b;for(c=0;c<a.g.length;c++)if(b=a.g[c],"prop"==b.substring(0,4)||"eVar"==b.substring(0,4)||"hier"==b.substring(0,4)||"list"==b.substring(0,4)||"channel"==b||"events"==b||"eventList"==b||"products"==b||"productList"==b||"purchaseID"==b||"transactionID"==b||"state"==b||"zip"==b||"campaign"==b)a[b]=void 0}

The problem is, on single page apps (which is probably the biggest use case for using clearVars), I need pageName cleared out as well.
For instance, I have some logic that sets the pageName based on the URL, but only if s.pageName hasn't already been set for that beacon. The problem is, if pageName is ever set, it hangs around, so it always looks like s.pageName is set, even if it wasn't set for that beacon. I'm having to run clear vars, THEN go in and manually clear out s.pageName as well.

This affects the Launch Adobe Analytics extension "clear vars" action as well, since that just uses the s.clearVars() function (from what I'm told).

Along the same lines, s.clearVars does not clear s.contextData either.  I suspect when people use clearVars, they want ALL variables to be cleared.

3 Comments