Testing and Debugging

How to QA your changes and set up your app for success

At Leanplum we believe it is important to test everything. Because of this belief, we have created tools that allow you to preview messages, A/B tests, variables, and anyother changes to your app.

As you go about implementing a QA process for your team to test and preview content in Leanplum, this is a brief overview of important knowledge and tools to be familiar with.

Development v Production Modes

In Leanplum, you are issued a set of API keys with each Leanplum app that is created. There is an App ID key (specific to that app) and a production/development client key that will be required in API call or SDK implementation. Each key (dev v prod) will connect to a different backend infrastructure in Leanplum.

Generally speaking, the development key or what we call development mode is to be used by your Dev and QA teams internal testing. Once you are ready to go live, you will use the production key or what we call production mode for a live environment with real users.

Since each Leanplum app includes both keys, you can switch between development and production mode and test each while running a build of your app with either the development or production API key in place.

As in the



Use the correct keys

Never use a development key in a live production build. Our development key uses an open socket (for real-time analytics), which could noticeably degrade your app's performance. Additionally, any user data will be lost as it is not captured in analytics.

Using Your Test App

Most testing is done in developer mode, but you may want to test a few things in production mode as well. Creating a separate testing or "staging" app for your team allows you to test changes in production without adding risk or accidentally sending content to your real users.

You can add a new app and access your Keys from the App settings page.


Name your staging and live apps clearly

For example, if your app is called "Plums," then in Leanplum you could name your apps "Plums Production" and "Plums Staging."

Feel free to create as many test environments as you want — leanplum does not limit the apps you can have in your dashboard.

See more on setting up separate staging and live environments

Assigning Team Roles and Permissions

Setting up different permission levels for each Leanplum user can also refine your testing process. For example, some team members need to send messages to your app users, but you may not want your whole team to have that ability. You could give some users "Viewer" permission for messaging in Leanplum.


Admins have full access to all areas of Leanplum.

Either choose a pre-set role from the Team page, or create custom roles and permissions to specify how much access each person has to different areas of Leanplum.


Total separation for teams on different apps

If your organization has multiple different apps in Leanplum, you may want to limit certain team members to only have access to one app. Contact your CSM for help setting up your organization by app.

You could give your whole team access to your staging app, but only give a select few members editing access in production.


Once you are comfortable with your QA process, it's time to start testing out your content in Leanplum.