Best utilization of link structure and data enrichment

Welcome to the fourteenth edition of MAMA Boards, an AppsFlyer video project featuring leading mobile marketing experts on camera.

For today’s mini whiteboard master class, we have Noam Gohary, Director of Product Marketing at Playtika, one of the leading gaming companies with multiple games in the top grossing charts in the US and worldwide.

Big data and advanced analyses are the talk of the mobile industry right now. The trouble is, with all the fragmentation of partners, data, macros, and more, many marketers struggle to get it right! That’s where Noam comes in, discussing the 3 best methods for optimizing your link structure and data, and giving guidelines on exactly what you should do to keep the insights flowing and your marketing successful.  

Real experts, real growth. That’s our motto.



Hi, welcome to another edition of MAMA Boards by AppsFlyer.

My name is Noam Gohary and I’m Director of Product at Playtika. Playtika is one of the leading gaming companies, with multiple games in the top grossing charts in the US and worldwide. Today we will be talking about “Getting More from Your Data and How to Use Your Links Correctly.”

Data is the most important thing within our industry today; everyone is talking about big data, everyone is talking about how to do it correctly and all the challenges around it.

The main reason we have an issue is that there are multiple traffic sources, multiple measurement platform (like AppsFlyer and any other measurement platform you might be using), and you have your own database – the data flow is obviously, then, very, very different and it’s very, very complex.

To do things correctly, you have to do them smart and I believe that this is one of the biggest challenges for most companies.


Getting started with mobile attribution: The complete guide


How do I correctly set up a big data flow for my app?

The first thing that has to happen correctly is actually the links.

The link is the first thing that connects the traffic source to your measurement platform. If things are wrong there, your entire flow will be wrong, and then there is no way any of your engineers or you yourself can actually make sense of the data and make it work correctly.

When we’re talking about different traffic sources, the main thing that you need to remember is there are different partners, there is different data, and there are different macros. It’s something that is very important to understand. The basis of what we do is the links, but the way we use the links is by actually adding the macros into the links.

different partners, data and macros

For this, you need to know who your partners are, what macros they have, and what’s available for you to use. However, it’s also very important to remember that we need to keep things organized, and we need to keep things flowing in between different partners as well.

So, it cannot be the Wild, Wild West, which is usually the case with a lot of links, with a lot of companies.

What you need to do is stabilize everything. You need to be able to decide upfront with all of your team, with everyone who is doing media buying, on a structure, which should be throughout the entire company, among all the teams and everyone that’s working with you.

Once you use a partner, you actually have to do something very, very important. Don’t ask them to use your links and also, don’t let them set the links themselves.

One of the most important things is to actually first talk to them and try to understand what are their available macros. When you talk to them and you know the available macros, you also need to remember that different partners will have macros for keywords, placements, site IDs, etc.

This is what’s important to understand – know what’s available for you and how you can put that data into the links in the right way.

Do not change the placement of specific macros in the links, even between links. It’s very important to understand that, once you put something in it, it doesn’t have to have the same name, but rather the same meaning. You have to be able to understand your sub parameter levels, or your side levels. If you have different games between different partners, you need to know how to actually put the sub parameters correctly in between the links.

To make things easier for yourself, have one link structure to rule them all. Take the time to set it up correctly. Remember that you have different partners, and that these different partners have different macros, as we said; therefore, the structure of the link needs to be able to accommodate all macros. 

To be able to do that, remember before you start running a campaign that the rules of the links have to accommodate different keywords, different side ideas, different placements, and that everything has to be in one structure so you don’t have mix up between the macros.

Also remember that even if you set the rules, it has to be with a knowledgeable understanding of the nature of these parameters. Don’t try to hardcode them, resulting in an absolute “site ID is this parameter.” The app itself will actually reflect the lowest level of parameters, so choose carefully. This is also where you need to put the site ID or any other replacement for this specific level.

So, it’s essential that you know the link structure and how you passed it along into your team. Have this information included as part of the onboarding, and have all of your agencies make sure that they’re working with the same structure.

The second thing you need to ensure is that you have a very robust link. Robustness here means that the link will work with any partner, no matter who it is. Also remember here that we always have the sub parameters, which you can think of as your Wild, Wild West, where you can go crazy.

However, always use them as last resort. That is, if you have a place for it in the link, use the correct place, but note that there will always be surprises. You’ll always have partners that will have different requirements and different parameters to put in the link, which will in turn give you extra data that is very, very important.

You can always use the sub parameters, just make sure that you use them correctly. Even in the sub parameters, there is often some sort of logic. If you have something that you can set in, set it in, but make sure that this specific partner will always use the same sub parameter so you can play with the links afterwards.

Just to make it clear, in most cases, you will have a default setting, a default link within your attribution platform or any other platform that you’re working with. These links are usually very basic, so basic that they will usually not give you the data you need.

Now I’ll show you an example of default versus customized links to ensure you get sufficient data.

Looking at a Chartboost link within AppsFlyer, you can find 6 different parameters, which is great and will work fine when you use it. However, when I look at one of Playtika’s links, we have 15 different parameters, which is more than double the amount of parameters in the link. That means double the data, which in turn means better analysis, and more capability of diving into the data and understanding what doesn’t work for you.

If you have all parameters set correctly for all of your partners, in most cases, you will have more than 10 parameters in the link, which is excellent. Again, keep it relevant for the specific parameter and the specific partner’s parameters, which is very good for you because you’ll be able to dive in.

OneLink structure to rule them all (whiteboard)

What is hardcoding?

Okay, so we talked a lot about macros and how they should be setup. Again, macros are your go-to default, but in a lot of cases, we’ll also have to do hardcoding, a reality of many companies. Hardcoding means writing something manually within the parameter and the link in order to create a specific, permanent meaning.

A lot of people use hardcoding for their campaign names and other elements like that in order to chop it down and afterwards actually use it to analyze your data.

When we’re looking at hardcoding, it will always be your last resort, as I said, but there are a lot of cases where you have to use it. If we’re looking at Facebook and if we’re looking at a lot of partners that don’t allow you to use links, there will always be only one way to get the data through which will be through the names of the campaigns and everything you’re using to be able to cut things and to be able to chop it down afterwards.

What are the advantages and disadvantages of hardcording?

So, if you’re doing hardcoding, it’s very, very important to remember that there are advantages and there are disadvantages that are very significant.

First of all, the bad thing about hardcoding is that you can’t go back – you can’t go back and change the data, but do it within the database itself. With macros, if data is being changed because the system is already pulling it from the game or from the source itself, it will change automatically. With hardcoding, you have to remember how to do it and you have to remember to do it yourself.

One frequent problem that occurs with hardcoding is case sensitivity with lowercase and uppercase letters. When you use hardcoding, you have to write something simply and consistently. However, if you use uppercase and lowercase, when you analyze the data afterwards and chop it down, it’ll always be an issue, and it’ll always make changes for you, so please keep it very, very, very strict. Hardcoding should be very, very strict for all of your campaigns and all of your work in general.

A second downside to hardcoding is that it’s easily possible to break the link’s length. You need to remember when you’re using the link, there will always be a length capability. If you’re using a parameter, you will always have a length capability. The system will usually be able to use macros correctly and compensate on long lengths and stuff like that.

On the other hand, when you’re doing it in hardcoding, it will pass as is. Make sure you are not writing something too long because there are two options: either you will get cut off and then you will not have the data or, in more challenging cases, your link will even give you wrong data because you have only partial parameters. In the worst cases, it will just not give you the data at all, which will be even worse because there is no way you can go back and actually compensate for that.

Bottom line: do hardcoding very, very strictly and very, very lightly. Do it smart.

Turning to the good things about hardcoding, there are cases where there is no option to avoid it. The first case is when there are no links and nothing you can do about it.

In the second kind of case, you will not have macros for what you want. A lot of times, it will be the targeting or the cost or a lot of things that you want to use and you want to get the data for, but you can’t because the partners don’t have the available parameters. In those cases, we will use hardcoding and we’ll actually put parameters in the link itself. This is where hardcoding will be useful and the main circumstance where you will use it.

Hardcoding (whiteboard)

What guidelines should I follow when hardcoding?

But, even when we’re using hardcoding, we need to do it correctly as said and there are a few things that you need to remember.

One of the more important things is what you’re allowed to use and what you’re not allowed to use. Here you have a few examples of what can actually break a link and what can actually destroy the way you’ll get the information. Any characters like hashtags, question marks, and others are very bad for your link and it’s very important to remember it.

A lot of these characters actually have a meaning within the browser and within the apps and therefore, they will be changed once you use them. That’s why you shouldn’t use it in the hardcoding; you will be able to see them in the macros because the systems themselves replace them. They know to replace them because the characters otherwise have meaning within the code.

What you can use will be pipes and underscores. Use them to separate parameters within the naming convention, and use them to separate parameters within your hardcoding in order to spread it out afterwards and analyze the data in specific columns.

do's and don'ts (whiteboard)

At this point, we’ve talked about two different options we have: either macros or hardcoding. There is, however, an additional option that can allow us to get more out of our links in case we can’t do the macros or the hardcoding: data enrichment tables. Data enrichment tables technically allow you to have an outside table, either an Excel or a SQL, and connect more data and more information to your regular database.

The one thing you will need to make sure you have when you use table enrichment is a unique key.

This unique key will allow you to connect the data from your links to the data in your tables. How? You will either generate a unique key by yourself or use the parameters within your links and data to create it. I would recommend to use your IDFA together with either your campaign ID or your source’s ID to create a single key. Ultimately, it can be generated anyway you want, either connecting them or multiplying them with some sort of configuration within your system.

We’ve discussed getting a unique key, now let’s go over the advantages and problems with enrichment tables. The main advantage would be that you can always go back and change the history. You can always add more columns, you can always add more data, and it’s something that will be very easy to do.

The disadvantage, however, is that you have to maintain it. If you don’t maintain the table, you will not get the correct data. So, don’t go too big. Don’t go too crazy. It’s important to be able to maintain everything and have all of your team maintaining it correctly as well.

I’ll give you a very good example of this. We actually used this ourselves as a data enrichment test for creative testing.

So we created an enrichment table with a lot of parameters for creative. We matched it at the creative level and for every creative, we hardcoded its unique ID into the link.

Once we had all the data coming in, we matched that to the data in the table. From there, we could analyze if the background influenced user behavior, if it was improved with animation, if it was improved with gameplay, etc. And that, finally, allowed us to understand what we needed to do before building a bigger system and executing a bigger analysis.

The thing that was really great about it is that we started with only five different parameters, but once we understood that it was working well and we got the big picture, we started diving in.

To be able to dive in, you don’t need to rerun, you don’t need to have more data. What you need to do is add more columns, have more enrichment because you can always know what you had in the links and what you used. This has allowed us to add ten parameters at first, then twenty for every different creative and to really know what’s working for us on a granular level.

This was actually what we did before we built the full Playtika system to allow us to analyze creatives. It is something we still do today, just at a higher scale and with a more complex system. Still, this method is very good and it could be very good for you as well.

what is an enrichment table (whiteboard)

That’s all for today.

Feel free to comment below. For more MAMA Boards, please click this link.

Thank you for joining us!

Ready to start making good choices?