Hey everyone,
I've stumbled upon an odd issue: when I include a cid query parameter in the page URL, I'm not seeing any hits going to Adobe Analytics. Strangely, removing the query parameter results in hits being sent and rules firing as expected. However, I'm encountering an error in the console:
Failed to execute "Send Beacon" for the "Adobe Analytics - All Other Pages" rule.
s.join is not a function
TypeError: s.join is not a function
Any thoughts on this? Your insights would be much appreciated.
Thanks,
Samir
Views
Replies
Total Likes
Hi @Samir994
You mentioned when you have the cid parameter in the URL you do not see hits going to analytics. My first suggestion in such a scenario would be to enable debug mode and look in console for errors which might be preventing the rules from firing. Debug mode can be enabled using the below command on the browser console:
_satellite.setDebug(true);
Once you enable the above, refresh the page and look for the flow and look out for any errors. I am certain there is a piece of custom code somewhere which is erring out and your beacon is not sent through.
Coming to the second part, when you remove the query parameter, hits go through ? The rule that is failing is failing at the send beacon stage, so if hits are going through, there is another rule which is sending data into analytics using the send beacon action. For the error, you might need to get into the launch rule and see. This error seems to be generating from a custom code written in the rule mentioned. Look into the code and see what is wrong, else paste the snippet here and we can help on what might be going wrong.
Cheers,
Abhinav
Thank you @abhinavbalooni . I did investigate into this more, and from what I see in the analytics extension, when I removed this line and this plug-in
s.eVar11=s.crossVisitParticipation(s.campaign,'s_evar11','30','6','>','',0);
It seems that the rules are firing and the v0 is set in the hit. I'm not sure why.
Views
Replies
Total Likes
I don't recognize s.join nor can I find any reference to it using Google Search...
My suspicion is that your developer attempted to add a custom code plugin, using the Adobe s object notation (which actually isn't even needed, they could have just used standard JS join code), but that either that function isn't available in the scope of the where they are trying to use it, or it's been removed from the code... either way... as far as the script execution is concerned, it's trying to run code that it can't find, hits a critical error and fails... preventing tracking in that scenario from even firing.
I'm going to assume that the code in question is in a Data Element and looks first if there are any cid parameters in the URL... if none, the entire code block will bypass, but when there is a campaign, the code is attempting to manipulate the data into an expected outcome, and due to the JS error, is breaking all tracking.
This could also be placed into custom code blocks in your Analytics Extension, or inside the Set Variable Rules... There are many places this could have been set, and you will need to trace it down....
If you do a search for "cid" in launch, hopefully you will find a small number or results to start reviewing... but the code could "daisy chain" into somewhere that doesn't reference cid specifically...
For example:
Searching for "cid" would only return "Campaign Code", but the JS error could be created in any of those steps....
You could also try turning on the debugger, this might help identify what rule is triggering around the issue, but it may not be a smoking gun....
// Turn on Debugger
_satellite.setDebug(true);
// Turn off Debugger
_satellite.setDebug(false);
Good luck hunting down the location... that is the first step... depending on what you find will change how you have to fix it.
Thank you @Jennifer_Dungan . I did investigate into this more, and from what I see in the analytics extension, when I removed this line and this plug-in
s.eVar11=s.crossVisitParticipation(s.campaign,'s_evar11','30','6','>','',0);
It seems that the rules are firing and the v0 is set in the hit. I'm not sure why.
should now everything is set correctly or not i will wait and check the reports to see.
v0 is actually the notation for "Campaign", which I would expect to be populated when you have a cid (this will set your Tracking Codes dimensions).
As for "s.crossVisitParticipation" this seems to be an old plugin (most references I can find are almost 10 years old), I don't think this is still supported... it may be incompatible with current Launch Standard...
But still, that code doesn't seem to be referencing s.join? But without seeing the actual plugin code, I can't say for sure what it's trying to do... the documentation for s.crossVisitParticipation seems to be removed (another sign of deprecation)....
But if removing this code for eVar11 fixes the issue, great. However, you may want to check in to what eVar11 was supposed to be doing, and see if you need to fix it... though odds are, this has been broken for a long while and if no one is complaining about eVar11 not being set, you might be fine
Views
Replies
Total Likes
The eVar11 is "Campaign Stacking (v11)".
and from what I see, it was used to append a value to a list of previous values, and that list of values is returned.so this explains the name of the eVar11
and this link explains the rest of the plug-in.
https://digitalanalytic.blogspot.com/2012/06/cross-visit-participation-plugin.html
Views
Replies
Total Likes
OK, and I can see in the code for s.crossVisitParticipation that there is a reference to s.join function... but no where in that blog does it mention such a dependency... maybe s.join was a standard element in old s_code.js or AppMeasurement.js code bases? Or maybe this blog is missing a critical piece of the puzzle...
However, in current code bases, no such function exists, hence the error. This is likely why s.crossVisitParticipation was deemed incompatible with current code bases.
Views
Replies
Total Likes
In your Analytics extension in Tags, what is the version of AppMeasurement used with it? I think the s.join plugin got merged into the AppMeasurement library with some version, that's why it's not available as a separate plugin now.
I think Adobe has also deprecated the s.crossVisitParticipation plugin. You could ask your colleagues to find out if anyone had ever used the eVar11 for any report (or maybe they don't even know about it!). If so, you could comment out the eVar11 line entirely, which will then get rid of your problem too.
Views
Replies
Total Likes
I'm using the latest version of AppMeasurement.
And yeah, that's exactly what I did to fix the issue. I just commented out the eVar11 line, and the issue is gone.
Thank you
Views
Replies
Total Likes
Regarding the s.join error, what plugins are you using in your AA doPlugins section?
Views
Replies
Total Likes
I'm using :
s.getVisitNum
s.getDaysSinceLastVisit
s.getPreviousValue
s.getActionDepth
s.crossVisitParticipation [and i removed it]
this was an old account and we migrated to a new account. but this is what we have and i'm trying to adjust some implementation and fix the issues.
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies