Kevin Bravo has honed his technical and strategic skills in various startups and environments all over Europe. A regular speaker at conferences involving Growth hacking, mobile app development, analytics and marketing, Kevin now brings in his broad range of expertise to work as an Innovation Lead at Phiture.

The Mobile Triforce- Marketing, Tech, and Data

In this article, I will highlight what makes a good “tech-marketing stack” and how you can ensure that you get the most value out of it.

I have had the opportunity to work with many talented people across several mobile-centric companies. They never failed to bring exciting ideas to the table such as marketing campaigns we could run, product experiments and other growth opportunities that we should focus on based on data.

But one of the things I realized, after helping more than 30 different companies in their growth efforts, is how rarely these companies had the triforce.

A brief introduction to myself – I started, as many of us did, in marketing. However, I quickly became aware of how little I actually knew about the product. How did it work? Why did it take so long to integrate new SDKs or add a feature? It was frustrating. I decided to start a new journey: learn to code!

After 2 years of freelancing as an iOS Developer, I felt ready for the last step in my journey, and my last triangle: Data. That’s when I decided to join Phiture.

I’m not saying I’m an expert in all the fields, but I do have enough experience of each to be able to understand the big picture: How you merge them into the Triforce.

triforce tattoo

Me: being really serious about it and getting a Triforce tattoo…

You see, in Zelda games, the Triforce represents an order in all things — bringing control and power to the ones that possess it.

I view marketing, tech, and data as the three triangles in our story. Of course, there are no bad guys to fight at the end; but the prize is even better: a great team with capabilities to improve your product and bring more value to your users.

You can have talented people on your marketing, tech and data team. But if they don’t work together, you lose much of the value.

Let’s say the marketing team runs an awesome campaign, then we would see a huge increase in installs. However, these installs are not properly tracked so we can’t look at the data and calculate exactly just how many users we gained for each campaign (or on an even higher level, for each acquisition source).

That’s the kind of issue you can experience when working with a bad marketing-tech stack.

If we look at the Mobile Growth Stack, we can see a tech layer:

tech layer mobile growth stack

Actually, it’s not only about tech. These “features” will empower your data and marketing team to work more efficiently and have better capabilities.

For each component, there is a good way to set it up to make sure you get the most from it. I won’t go into detail about what each component means; if you want a refresher you can take a look at this article.


deeplinks will give you the best capabilities in terms of deep linking, you can also build it internally.

What is an “OK” setup:

  • Having links that enable you to redirect any user to a specific screen. You can also redirect users on specific content with an id (e.g.: a specific Netflix show)

What are the best practices:

  • Making sure your deeplinks can be set up in emails, push and in-app messages. It’s one thing to make sure the deeplink works on your push notifications, it’s another to understand if it’s going to work from a specific browser/mail client.

To keep track of what is working and what’s not, I usually recommend building a deeplink internal checker. It’s a spreadsheet that looks like this:

deeplink internal checker

This allows you to track every deeplink and its current supported platform (iOS/Android) OS Version and supported browsers.

I was a mobile developer before so I know how deeplinks can be a pain to test. That’s why this kind of document can really speed up the testing process and allows you to make sure every deeplink can be used for your campaigns. It’s also a good document to share between teams so everyone understands which deeplinks are available for campaigns. In general, a campaign with deeplinks always has a better conversion rather than just app open links.

As you can see, there is a ‘minimum supported app version’ column. This is often one of the most often-overlooked issues. Developers implement a deeplink due to marketing requests. Marketers are then so excited to have it and assume that this will work across all previous app versions, which is never the case.

  • Universal links are set up and redirect the user to the correct content if the app is already installed, to the app store if it’s not (unless they’re on the web). For each platform, your deeplink should act differently. You can learn more about universal links here.

AB Test Framework

AB Test Framework

You can build internally your A/B tests using variables (edits from the server) or go with one of the following: Apptimize, Optimizely.

“OK” setup:

  • You have a tool (or an internal setup) that allows you to test the different funnels in your app (onboarding, purchase, etc.) by iterating on the design, UX, copy, etc.

Best practices:

  • Some A/B test tools can be limited in terms of analysis. You can usually understand short-term metrics such as action conversion, signing up, etc.
    If you want to understand long-term metrics and overall impact on your users, you should store each A/B test impression directly on your analytics tool (e.g.: Amplitude/Mixpanel) for further analysis (retention, LTV, Pulse ratio, etc.). It will also be a good opportunity to see how your A/B tests impact on other feature’s usage, long-term metrics, etc.

Marketing Automation SDK (CRM)

Marketing Automation SDK (CRM)

Plenty of players in the industry, here are some we love to work with: Leanplum, Braze & Clevertap.

“OK” setup:

  • You can send push, emails, and in-app messages to your users based on their last sessions (X days ago).
  • You can segment the users to target them and tailor the campaign based on their attributes (e.g.: name, age, etc.).

Best practices:

I could dedicate a whole article to ways you can improve your CRM setup. I’ll try to summarize some of them here.

  • The correct events are sent to your tool to serve as triggers. Usually, integrating only the CRM is not enough to acquire the capability to target users on what they previously did, as well as what they’re currently doing.
    A good example is a win-back campaign: If your user adds something to the cart and decides to leave mid-funnel. If you have even “add_to_cart” as an event in your CRM, you can send them a message right away.
  • You can track your app tabs and some of the main screens so you can know which user has never accessed specific tabs, and educate them about some of your app’s features (Don’t think this is just a few users, for some social apps it can go up until 50/60% even after 5–6 sessions).
    This will also allow you to trigger in-apps campaigns on specific screens, and not just on the homepage.
  • You’re running triggered campaigns. Many of the companies stick to scheduled experiments such as a weekly email/push, Friday night campaigns, etc. By running different campaigns that are triggered by the user, you’ll have experiments that can tackle different lifecycle stages automatically (e.g.: after 3 days of inactivity, after a user adds a show to their wishlist, etc.).

Attribution SDK

Attribution SDK

Same thing here, many tools available, here are some of the ones we love to work with: Appsflyer, Adjust, Branch, and Kochava.

“OK” setup:

  • You can understand how many new users each marketing campaign is bringing and how much you pay for each install.

Best practices:

  • Having conversion events in your attribution tool, and not just install, will allow you to understand what your ROI for each channel is. It doesn’t need to be a monetary goal, but I recommend you consider more than just install or signup for conversion events.
  • Storing the attribution source and campaign (possibly also even the creative) as a user attribute in your analytics tool will allow you to understand how each channel performs in terms of long-term metrics (retention, LTV, etc). You may see that the install for a user from Facebook costs twice as much as one from Snapchat, but they actually retain better and spend more money. You can also think about personalizing the user experience based on the campaign they’re from.

Monetization SDK

Monetization SDK

Crowded place, you may want to look here.

“OK” setup:

  • Enabling advertising for all users through monetization SDK, allowing you to run ads from multiple platforms. (learn more here)

Best practices:

  • Understanding your advertising impact on the user’s lifecycle. Being able to understand how many users you’re losing due to ads will help you tweak the ads’ frequency and triggers. This is especially true for games where the onboarding is critical if you want users to stick with your product. A good practice is to test how many ads you can serve your user and at which frequency, in their first week of use.
  • Segmenting users based on how they react to ads and purchase behavior. If a specific user is spending money in your in-app currency, you may want to consider not sending them ads, as they may convert better if they’re retained and not annoyed by ads. The same thing goes for users where you see a big drop in session length if you show them ads.

Analytics SDK

Analytics SDK

Great landscape, just make sure to go for a mobile-focused player like Amplitude or Mixpanel.

“OK” setup:

  • You’re tracking the main events (e.g. ride events for Uber, watching content for Netflix).
  • You’re tracking your main funnels (onboarding, purchase, etc).

Best practices:

  • Make sure you’re tracking all the intents (clicking a “make an order” CTA) with enough data to understand what interrupted it (the type of order as event property, screen from where the order started).
  • Track all the funnel interactions and not just the steps. E.g. if you’re a food delivery app and the user can select an address, maybe adding a boolean to the event (is covered by delivery: true/false) will allow you to understand how many orders are actually canceled just because of location.
  • Make sure to track most of your screens. As I said previously, you may discover that many users never accessed specific features of your app. It also helps you understand how some features can be correlated to long-term retention.
  • Make sure to remove server-side events from your product reports. Many companies use server-side events as “Active events” for their users. But it’s not because there was an automatic renewal for your Netflix account that it means you’re watching shows every month.
    For example, Amplitude allows you to turn off server-side events from your dashboard views pretty easily:Amplitude allows you to turn off server-side events from your dashboard views pretty easily
  • What about your A/B Tests & CRM campaigns? I highly recommend that you track them directly in your analytics tool. It will help you make sure you can understand the short term and long term impact of your campaigns on your users (it’s also a great way to understand how your marketing efforts are improving your metrics and the impact breakdown per channel).

What else?

There are two big fields we didn’t cover here: Multiplexer and Warehouses.

Multiplexers like Segment or Mparticle makes your life easier and allow you to connect multiple tools through the pipeline, without the hassle of tracking events for each tool. It also gives great capabilities in data engineering (testing events, data structure, etc.). Finally, you can easily set up a warehouse by directing all your data (from your server, website, and app) directly to a database (e.g.: Redshift).

I believe multiplexer is a great solution for a complicated problem: data consistency and tracking is always a struggle, even more, when you’re getting started on adding new layers on your tech stack: analytics, attribution, support/survey SDKs, etc. But I don’t think it’s necessary for everyone, it will mostly depend on your setup and how you want to bridge the data in it.

So where should you start first?

Currently, you may be just launching a new app, which is a good opportunity to think about the tools you should acquire and get things right from the start. You should think about where you want to focus and what types of strategy you’ll be running with. Based on that, some tools may be more valuable than others.

The other case is for existing companies who feel like their tools are not giving them enough flexibility to run CRM campaigns, A/B test or analyze data in the long run. In this case, you should re-evaluate your current tools and understand how you can make sure that both Tech, Data, and Marketing live together happily. The first step is to understand how your data is flowing.

multiplexer to bridge every tool to the warehouse

In this example, I’m using a multiplexer to bridge every tool to the warehouse.

Here is a good example of how you can visualize the different tools together and start thinking about what is the missing link/the tools that need to be replaced. I think it’s a good exercise and will help the wider team to better understand your setup.

All of these recommendations are just some examples of how you can enable greater capabilities in your team to understand your users, run data-driven experiments and avoid tracking issues/misunderstanding on your tooling. It doesn’t summarize everything you can do, but I hope it will help you shape your own Triforce to rule the industry!

I’ll love to hear your thoughts on the topic!


Thanks to Andy Carvell.