The most frustrating situation in tech is when you start working on something new, and it won’t work.
You don’t understand what is going on, because your knowledge, quite frankly, isn’t there yet, and all the pages you find online give you different, conflicting advice.
‘Use the official plugin,’ one says, and it shows how version x.y.z works perfectly. But you’re on version x.y+1, and everything looks different.
‘OMG! Do NOT use the plugin!’ says another page, then goes into these simple 215 steps to make it work, including a complete recompile of your BIOS.
I’m exaggerating.
But it happens, and what would really help me in those cases would be an article that explains what to look for.
So, here is that article, for those of you wondering ‘why does this “Launch” thing not do what I want it to do?’
We’ll start with the basics, and I’ll be as non-Launch-y as I can. I’ll sort of presume that you are here because you have tried to put Launch into your site, and someone told you “it doesn’t work!” with absolutely no additional description.
So you’re on your own, and you need to figure out a) what’s wrong, and b) how to answer.
Is Launch alive?
First question, when you have to do something with Launch on your site: is Launch actually there? Is it being loaded?
If you find that Launch is not being loaded, you must sort that out before anything else.
Two easy ways to find out without any plugin or debugger.
Option 1 — Browser Network Console
If you go to the Network tab, then filter for ‘launch’, and reload the page, you will see either of the following results.
Option 2 — Browser Console
If you type _satellite
and hit Enter, you will get one of two results.
_satellite
. So if that object is present on your page, Launch is likely loaded properly.
You can even go further and check which Library is loaded, and when it was built.
Just type _satellite.buildInfo
and then Enter.
Right.
Now we know that Launch is on the page, what shall we check next?
Is it the correct Launch Library?
Let’s check you are actually embedding what you think you are embedding.
Option 1 — Browser Console
Using _satellite.property
in the browser console will give you the name of the Property that the loaded Library belongs to.
With our knowledge about both, the Property and the Environment, we are pretty sure to have the right Launch Library in the page.
But you can also check this another way.
Option 2 — Browser Network Console
If you do what you did above, i.e. filter the Network tab for ‘launch’ and reload the page, you can see how the Library is loaded.
It has a name that consists of some code, the “Environment ID”, and that Environment ID can also be found in the UI.
In our case, we already know that this would be the “production” Environment, so let’s simply check that one.
Go to the Environments, then click the “Install” button on the right of the “production” Environment.
Good.
What next?
What Should I See?
I know what you’re thinking, and you’re right. From this point onwards, things get murky, because what Launch does is inject Javascript into your pages, and what Javascript that is depends on the setup in the Launch UI.
So, either check things in the Launch UI yourself, or ask your friendly marketer to check for you. If she doesn’t know what exactly to look for, tell her this:
Question 1 — Are there any Rules?
Launch is rule-based. In Launch, you can create “Rules” which get triggered by “Events” and cause “Actions”.
(I really find it weird to write ‘and cause “Actions.”‘ the way it is supposed to be. How can a phrase end inside quotes? I hope noone here is grammatically strict to the point of not being able to bear what I do. My apologies if you are.)
(some completely unmotivated googling, and I now know that it is an AE thing. I shall remind you all that I lived in the UK, and so I am actually doing the right thing here. Ha!)
(Anyway)
In order for you to see anything happen, those three elements (Rule, Event, and Action) have to be in place, and they have to correspond to what you are trying to do.
Example: if there is a Rule with a “Library Loaded (Page Top)” Event Type, you would expect that Rule to “fire” when the browser loads the page, whereas a Rule with a “Click” Event Type would only fire if you actually click the element in question.
Example 2: if there is a Rule that uses an “Analytics – Send Beacon” Action Type, you would expect the browser to send analytics data.
There is no magic, here. Everything that Launch does has to be spelt out. If there is no Rule, there won’t be anything happening.
So, check whether there are Rules, at all. And that they are “enabled” (they are, by default).
As stated above, Rules with “DOM Ready”, “Library Loaded (Page Top)”, “Page Bottom”, or “Window Loaded” Event Types will fire when the browser loads the page.
Others, like “Custom Code”, “Custom Event”, “Data Element Change”, “Direct Call”, or “History Change” may also trigger a Rule when you load the page (or navigate to the next one), so watch out for those.
Question 2 — How do I see whether Rules fire?
Easy: debug mode.
Using either the fabulous Launch & DTM Switch Chrome Extension by Search Discovery, or simply typing _satellite.setDebug(true);
in the Console and reloading the page, you can get Launch to output debug information in the Console. A lot.
You can filter for one of two things:
- Filtering for “🚀” will show you everything that Launch writes, and
- filtering for “fired.” will show you which Rules were fired, specifically.
That means you can check (or ask your friendly marketer to tell you) what Actions are supposed to happen. Does any of those Rules actually send Analytics data?
What else?
I think this is all you need for now.
What I can do is tell you how you can do the Rules check on your own, without logging into the Launch UI or talking to your friendly marketer.
This is where it is helpful that you are a developer, and that you know Javascript.
Go back to your Network tab, find the Launch Library, then look at the “Preview”.
You can, of course, open the Library in a browser tab, or paste it into some JSON beautifier, to make it easier to find things. I recommend you do that.
Is looking into the Library easier than just checking in the UI or talking to someone who knows? Maybe, maybe not. But now you have a choice, and that might just come in handy.