My biggest learnings about Adobe Launch after few implementations

Just wanted to write small summary what I have learned after few Adobe Analytics implementations through Adobe Launch. Luckily there are awesome people that have already written great blog posts and shared pretty much all these little tricks and tips so probably nothing new to share, but hopefully my post highlights few important issues and features. And as said before, I write these posts mainly to myself. When I write this I will better memorize these details with codes and will surely come back to my post many times when wondering what was that great blog post I found or what was that cool code needed for custom code etc. I am my blog´s biggest fan, oh sweet… I wonder does Jan, Jenn and other feel this too about their own blogs? Ok, back to the topic.

Adobe Launch has great documentation in here https://docs.adobelaunch.com/, but these official documentations (no matter what tool) are always missing some crucial details and at least I have sometimes difficulties to understand what you can do with this and that. That’s why blog posts with real use cases are important, so huge thanks Jenn, Jim and many others who are blogging about Adobe Launch.

  1. It’s awesome.
    Older Adobe Dynamic Tag Management aka DTM is “ok”, but Adobe Launch takes things to another level and especially makes many things so much easier to do. Bye bye hundreds rows of custom code especially for  single page application sites. For every new site I would start with Launch and forget about DTM. Sure there are many features on the roadmap that Launch users are waiting eagerly, so it’s not 100% complete product, but so good already at this point that it gets my approval.
  2. You can add additional information to direct rules aka _satellite.track calls
    Direct calls meet data layers, oh yes! If you want and sometimes there might be no other choice than ask your coder to hard-code Adobe Analytics hits to different kinds of actions as button clicks. It is easier (at least to the coder) to hard-code these _satellite.track calls with additional information and then you can “map” this information to Adobe’s custom variables and events etc in Launch. Few examples how direct call rule is hard-coded with additional information:

    _satellite.track("click",{type:"internal",element:"link",anchor:"buy"}) 
    _satellite.track("click",{type:"external",element:"link",anchor:"adobe.com"})

    Try to think all the actions you need to track on your site and hopefully the result will be “easy to understand” instructions for the coder and you don’t have to educate about props and eVar and so on. I’m not going to explain this more detailed way, because Jenn has done perfect blog post for this: https://33sticks.com/direct-call-rules-launch-new-power-passing-additional-info-_satellite-track/ (note! You can even do multiple layers of information, read Jenn’s post for details)

    Btw, before finding Jenn’s post I was struggling with this, because I tried to access those values in direct calls using data elements, but I guess that is impossible (scope?). However, you can add these values directly on your direct rule call when adding variables to populate. To me this isn’t logical, but this is how you get access those values:
    %event.detail.yourObjectHere%  On my first example this would mean %event.detail.type% if want to return value “internal”.

    If you want to use custom code editor for this then you could do like this:
    s.eVar4=”event.detail.type”;
    s.linkTrackVars=”eVar4″;  // Yep, you have to add this. I mean eVar4 is not sent on the hit without this Adobe specific “custom link coding”.

    It doesn’t make sense to use custom code just for single eVar, but if you want to use anything custom (e.g. if else coding) or want to combine different eVars to another custom variable then custom code is needed. But with this easy eVar4 example I wanted to point out that s.linkTrackVars issue or should I say feature.

    And here is real code example if you want to really understand how I played with custom code window:
    (Ouh, this is another screenshot and not that s.eVar4=”event.detail.type” example, but at least you see the s.linkTrackVars which was the biggest learning)

    launch_custom_code_example

    Additional reading:
    https://docs.adobelaunch.com/client-side-information/launch-object-reference (grr, why didn’t this page included information about the %event.detail.yourObject% coding to get those values that was sent with _satellite.track)
    https://forums.adobe.com/thread/2451022 other are wondering about this too.

  3. Want to add additional information to actions without Adobe specific _satellite.track calls? Say hello to Custom Events.
    Direct call _satellite.track is Adobe (Launch) specific code and I believe you can’t access that information in DOM. So if you want to use more general coding on your site that other TMS tools should have the access to then your solution is to use custom events. Basically, just javascript for the different actions you want to use. I first noticed this option on Jim’s great blog and scroll down to “custom event” part: https://jimalytics.com/adobe-launch-guides/adobe-launch-rule-events-guide/ and there it is all explained in detailed way how to code it and how to access those values inside Launch. The code has to be exactly the right one with right amounts of “,” and “{}” signs etc. I had some difficulties to understand the logic, but thanks to Jim, I finally got my test button tracking to work with this kind of code:custom_events_code_example
    Sorry for not showing code in text format. WordPress crashed every time I tried to show it as text format even with “code” field. And here is Jim’s great example how you get the access to those values: https://jimalytics.com/wp-content/uploads/2018/07/Custom-Event.gif using “custom event” in custom event type and give “someClick” as value.
  4. Data element change is your new friend to get page tracking to work on SPA site
    You have hard-coded Adobe Launch to the site and then added Adobe Analytics. You’ll start debugging. Adobe Analytics is loaded on the first pageview. You click on the navigation to move to another page and content changes, but nothing is sent to Adobe Analytics. What!? Why!? Calm down, just calm down! Year 2018 happened and nowadays many site is coded as SPA aka “Single Page Application” style. This means content is updated when users moves to another page, however, the site is not fully loaded again and that’s the reason why Analytics is not sending the hit. It is still possible to track these “virtual” pageviews, but in DTM these usually mean lots of custom code and usually additional hard-coding to the site too. I was about give specs to coder to add _satellite.track calls on every page to get the hit, but luckily I had heard that Launch should be better with SPA sites. Little bit of search and oh what a surprise I found myself on Jenn’s blog again and especially this one caught my attention https://www.digitaldatatactics.com/index.php/2018/01/30/dtm-launchs-rule-ordering-is-a-big-deal-for-single-page-apps/. You just have to add another event type for the rule to be fired and that is “data element change” and boom hits are generating on other pages too and coder didn’t need to hard-code anything to the sit for this one and I can even clean variables after the hit -> Awesome! My basic tracking is working even SPA site directly through Launch and without the need for any javascript hacks.Not so fast! This is a great example why debug to test is important. Eventhough, the hit was sent I noticed that pageName value was not changing and it was always the first value. I found out that global variables are not working for these hits. After directly adding the variable to rule in the “add variables” part before sending the hit I was able to see values changing.
    Btw, here is idea to vote if you agree that this should work automatically https://forums.adobe.com/ideas/10433
  5. How to duplicate Launch properties or copy data elements between properties
    Sorry, you can’t! This would be the most time-saving feature to have, by far! IMO. I know I am not the only one missing this feature since there have been lots of discussions about this and it is on the roadmap but no idea when it will be available, hopefully within few months. There are different types of levels how this could be done and probably Adobe will start with the easiest option with ability to copy rules/settings/data elements between different properties. My ideal solution would be to have some kind of option as in Analytics when you do new report suite and by this I mean I would like be able to duplicate older property when I make a new one. This way I would have all the basic stuff ready out of the box and with just few modifications (e.g. change report suite etc) I would have fully working Launch property in speed of light.The greatest option would be to have some kind of master property where you could share all basic stuff to different properties and probably you could do something like this with API in the future (if not possible now) or build your own Launch extension for this.
    You can vote and comment ideas around this topic in here https://forums.adobe.com/ideas/10320

 

Oh this post was bit of text vomit, but forgive me, it’s Saturday and no time to check every spell error and give all the screenshots etc, fail fast and so on, will hit publish button NOW! Ask if something was unclear. 🙂

About Antti

Antti

Digital Analytics Manager specialized in Adobe Analytics, Online personalization, SEO, CRO...

Leave a Reply

Your email address will not be published. Required fields are marked *