There are several reason why Launch could be reporting numbers: Can you
narrow it by browser type? This could be related to a specific browserIt
could also be ad blockers allowing Google to fire but not Launch to
fire. If possible, check to see if your numbers correspond to the same
in Adobe Analytics. If you have the client ID available as a custom
dimension, try to cross-reference it between the two properties and see
if you can narrow down the type of user who is missing your Launch GA
Urs gave a few good points but here's some more assistance. 1. If you do
not have access to the HTML and you only have class. You can use index
placement in the DOM. Just a note, if HTML changes, your code may break.
Urs comment on using data-attributes is a far better approach. But for a
quick solution, you will want to know where Button A and Button B is
placed.There are two approaches to this. One is easier, the other is
harder but covers more browsers. Option 1: If you don't care about IE8
So Vimeo's library offered in that link is made specifically for Google
Analytics which sends events. Easier solution: Very ugly workaround but
what you can do is listen to those Google post events (more details
Harder solution:I, unfortunately, don't have a Vimeo premium account to
see the Google Analytics library.js file but you would want to read how
that library works, figure out and find their listeners, copy that c...
Here's a checklist when I experience this: Do a hard refresh on your
browser. Clear all application data.Try IncognitoTry outside a different
network (use cellphone network or another wifi not connected to same
network) - This is incase it is a network caching issue.Check with your
I like having more control over my global variables as some page views
and some track links may have different variables set. So what I do is I
have 2 rules.Global Variables - Page ViewGlobal Variables - Track
LinkFor every page view and track link, I call a direct call to call the
respective rule above then fire a pageview or track link beacon. Inside
the rule, I set global variables over that. That way, I can clear
variables when I need to and not have to clear when I don't need to.
What you can do is for every direct call listener that you have, have it
fire ANOTHER direct call that fires a universal rule.Let's say you have
3 direct calls"DirectCall1" Listener > Action to Call "Universal Direct
Call Rule""DirectCall2" Listener > Action to Call "Universal Direct Call
Rule""DirectCall3" Listener > Action to Call "Universal Direct Call
Rule"Then they all link to the universal direct call which has an action
like: _satellite.track("universalDirectCall");Then from there, you
This is an interesting situation and also very similar to me. I believe
this is somewhat rare in most cases just because there usually is just
one person working on a property. But in our unique case, a blessing and
a curse to have many implementation team members, the best practice
(which we also do) is to have all your code hosted in a repository like
github. If we are working on a significant portion of the
implementation, we duplicate the property and spin-off a new property.
We use DTM swit...
Generally, it's already tracking out of the box but here are some steps
to ensure it is. Go to LaunchClick on the Extensions TabFind the Adobe
Analytics ExtensionScroll to the Link Tracking Dropdown Ensure PDF is
listed there, if it isn't, add it.Press SaveGo to Adobe AnalyticsLook
for "Download Link" and you should see the PDFs. Beyond this, you can
actually setup link listeners for a specific PDF. Such as abc.pdf. There
are different ways such as creating custom code to listen or using a CSS
Default Values get populated on Launch based off: typeof VARIABLE
returns "undefined"VARIABLE returns "null"A blank string is technically
a blank string and that would just return naturally. So the best way is
to run a Custom Code and return null when it comes to a blank string.
This isn't related to race conditions but rather scope. The s variable
is limited by scope and only available in the "Custom Code" You can
always expose the "s" variable by creating your own variable. One way to
do this is by the Adobe Extension: Then you can reference
aLaunch_s.version outside of the Custom Code.
I think you just answered your question. As of now, there is no way to
downgrade an extension. A workaround is to create a duplicate property,
upgrade and test then do it for your main property. But when you do
upgrade, you need to include the extension on the next library you
create. Click on "Add a Resource" Go to Extensions > Adobe Analytics >
Latest and Click "Select & Create a New Revision" Then build the library
making sure the extension is added on the library.
In general, the s object should be available in all custom code blocks
but could it be that you are using the s object somewhere else apart
from the custom code blocks? If so, you will need to create a localized
copy of the s object. More details
Screenshots would help enormously. There are some tips to debugging
this:When you are on the landing page and in console log and you type
the data layer :Do you get a return with the page name?
_satellite.getVar("YOUR_DATA_ELEMENT_HERE");If yes, that's good. If
not, then your data element is causing an issue. Get the Adobe
on Console Logging and check if the rule nam...
There is a lot of implementation techniques that involve this as I have
this done currently for our setup. But since this is in the Adobe
Analytics section, I'll keep it very high level. For future reference,
implementation might be best directed at
What you will need to do is make a decision to either use an extension
like Adobe Analytics in Launch or do it with raw code. There are
Creating an overview page with more useful information such as:Change
History (most recent Data Elements / Rules updated)Most recent Publish
History (and by who)It would be much better than the youtube link.
This is exactly what I do for my implementations. Using a data element
is also nice so you only have one place to change everything. How you
have your data element is good. You can even shorten in by:return
window.location.hostname == "www.hostnameInternal.com" ?
hostnameInternalProduction : hostnameExternalProduction;