How To Send Data From Your Flutter App to Pendo

As the digital landscape continues to expand, understanding user behavior is critical for creating exceptional user experiences. Analytics platforms such as Pendo offer powerful tools for capturing and analyzing user interactions, thereby providing valuable insights for product development and optimization.

If you're developing an application with Flutter, Google's popular UI toolkit, you might wonder how you can integrate Pendo to track user interactions seamlessly. In this article, we will guide you through the process of setting up and sending data from your Flutter application to Pendo.

Whether you're a seasoned Flutter developer seeking to implement comprehensive analytics or a beginner curious about Flutter-Pendo integration, this guide will teach you how to send data from your Flutter app to Pendo.

Understanding the basics of Flutter and Pendo

When it comes to building beautiful, fast native applications, developers often turn to Flutter and Pendo. These two technologies offer powerful tools and capabilities that can greatly enhance the development process and improve user experience. Let's take a closer look to see what Flutter and Pendo are all about.

What is Flutter?

Flutter is an open-source UI toolkit developed by Google that enables developers to create visually appealing and highly interactive applications for multiple platforms using a single codebase. Utilizing the Dart programming language, Flutter offers a unique development framework with a rich set of pre-designed widgets that can be customized to create highly performant, natively compiled applications for mobile (Android and iOS), web, and desktop. With its "hot reload" feature, developers can experiment, build UIs, fix bugs faster, and add features without compromising the speed or performance of the app, thus accelerating the development process while ensuring a smooth, beautiful user experience.

What is Pendo?

Pendo is a comprehensive product experience platform that offers a range of tools and capabilities to help businesses understand user behavior, collect feedback, and drive product adoption. With Pendo, companies can gain valuable insights into how users interact with their applications, enabling them to make data-driven decisions to improve user experience and drive business growth.

Pendo provides a variety of features that allow businesses to track and analyze user behavior. These features include user analytics, heatmaps, and session replays, which provide detailed information about how users navigate through an application, where they spend the most time, and what actions they take. This information can be used to identify areas of improvement, optimize user flows, and enhance overall user experience.

In addition to user behavior tracking, Pendo also offers tools for collecting user feedback and conducting surveys such as Net Promoter Score (NPS) surveys. These tools allow businesses to gather product usage insights directly from users, enabling them to understand their needs, preferences, and pain points. By collecting and analyzing this feedback, companies can make informed decisions about product enhancements and prioritize features that will have the most impact on user satisfaction.

Furthermore, Pendo provides capabilities for driving product adoption and onboarding. Through in-app guides, tooltips, and feature announcements, businesses can effectively communicate with users and guide them through the product experience. This helps users understand the value and benefits of the application, increasing user engagement and retention.

Overall, Pendo offers a comprehensive set of tools and features that empower businesses to understand and optimize their product experience. By leveraging the insights and capabilities provided by Pendo, companies can create and improve their Flutter applications to meet user needs and drive business growth.

Setting up your Flutter app

If you have already set up your Flutter app, you may skip this section. In this guide, we'll walk you through the process of installing Flutter on your development machine and creating your first Flutter app.

Installing Flutter

Before you start building your Flutter app, you need to install Flutter on your development machine. To get started, visit the official Flutter website and follow the installation instructions for your operating system.

Once you have downloaded and installed Flutter, you're ready to embark on your Flutter journey. Flutter comes bundled with everything you need to start building beautiful and performant apps.

Creating your first Flutter app

Now that you have Flutter installed on your machine, it's time to create your first Flutter app. Follow the steps below to get started:

Step 1: Open your terminal or command prompt.

Step 2: Run the following command:

flutter create my_app

This command creates a new Flutter project named "my_app". Feel free to replace "my_app" with the desired name for your app. The command will generate the necessary files and folders for your Flutter project.

Step 3: Once the project is created, navigate to the app's directory by running the following command:

cd my_app

Now you're inside your Flutter app's directory, ready to start building something amazing.

Flutter provides a robust set of tools and libraries to help you streamline your development process. From a rich set of widgets to a powerful hot reload feature, Flutter has got you covered.

Before diving into the code, take a moment to explore the project structure. You'll find important files like




that are essential for building a Flutter app.

Now that you have your Flutter app set up, the possibilities are endless. It's time to unleash your creativity and start building stunning user interfaces, implementing complex business logic, and making your app stand out from the crowd.

Integrating Pendo into your Flutter app

To send data from your Flutter app to Pendo, you can use the Pendo Mobile SDK. Pendo provides native mobile SDKs as well as Flutter SDK. The Pendo Flutter SDK provides a straightforward way to capture and send data to Pendo's analytics platform. By installing the Pendo SDK and configuring it properly, you can track user behavior, gather analytics, and make data-driven decisions to improve your app's user experience.

In this tutorial, we will write code with the Android platform in mind, but the iOS code won’t be much different and uses the same Pendo Flutter SDK.

Installing Pendo Flutter SDK

To get started, you need to install the Pendo SDK in your Flutter app. Open your Flutter project folder in your terminal and run the following command to install Pendo SDK:

flutter pub add pendo_sdk

This command will download the Pendo SDK and make it available in your app.

Configuring Pendo in your app

After installing the Pendo SDK, you need to configure it in your app. To do this, you will need your Pendo API key, which you can obtain from the Pendo dashboard.

Open your app's


file and import the Pendo package by adding the following line at the top:

import 'package:pendo_sdk/pendo_sdk.dart';

Initialize Pendo with your API key by adding the following line:

var pendoKey = 'YOUR_API_KEY_HERE';
await PendoFlutterPlugin.setup(pendoKey);



with your actual Pendo API key. This step ensures that Pendo is properly configured to track user behavior in your app.

Save the changes to your


file and hot restart your app to apply the Pendo configuration. If your app starts without any issues, you have set up the SDK correctly and you can move on to the next step.

Sending data from Flutter to Pendo

Sending session data of a mobile app visitor to Pendo

Tracking user sessions is a basic usage of the Pendo SDK. To track user sessions, initialize Pendo where your visitor is being identified (e.g. login, register, etc.).

final String visitorId = 'VISITOR-UNIQUE-ID';
final String accountId = 'ACCOUNT-UNIQUE-ID';
final Map<String, dynamic> visitorData = {'Age': '25', 'Country': 'USA'};
final Map<String, dynamic> accountData = {'Tier': '1', 'Size': 'Enterprise'};
await PendoFlutterPlugin.startSession(visitorId, accountId, visitorData, accountData);

This code starts a mobile session with provided visitor and account information. If a session is already in progress, the session will end and a new session will start. For anonymous visitors, simply pass `null` to the value of `visitorId`.

Sending specific user event data to Pendo

Event tracking is used to send specific actions or interactions your users perform. For example, you can track events such as button clicks, form submissions, or any other user activity that you want to measure. By tracking these events, you can gain insights into user behavior and identify areas for improvement in your app.

This is what the code snippet to track click events looks like:

await PendoFlutterPlugin.track(‘button_click’, { buttonId: ‘submit’’, value: '25' });

The above code demonstrates how to send data from your Flutter app to Pendo. In this example, an event named 'button_click' is sent with some additional event properties such as buttonId and value. These are just examples, and you can customize the events and properties according to your app's specific use case.

Make sure to read the official Flutter Developer API documentation on

Testing your data transfer functionality

Before deploying your app to production, it is crucial to test your data transfer functionality. Create test cases that cover different scenarios and user interactions in your app. For example, simulate button clicks, form submissions, or page visits and verify if the data is correctly sent to Pendo.

If you encounter any issues while testing your data transfer functionality, or if the data is not showing up correctly in Pendo, you can enable Pendo's debug mode to get detailed debugging information. Follow Pendo's documentation for instructions on how to enable debug mode and troubleshoot common issues. If you still cannot resolve the issues, reach out to the Pendo support team.


Well done! You've now mastered the art of sending data from your Flutter app to Pendo. With this newfound skill, you can harness the strengths of both Flutter and Pendo to gather meaningful data about your users and enhance your application's user experience. Pendo's capabilities in event tracking and user properties offer a window into user behavior, enabling you to make informed decisions to refine your app. From monitoring button clicks and form submissions to user attributes, Pendo serves as a holistic analytics solution for your Flutter app. Dive deeper into Flutter and Pendo's documentation and features to fully exploit their capabilities in your app development journey! Check out RudderStack's Flutter App to Pendo integration.

Don't want to go through the pain of direct integration? RudderStack's Flutter SDK makes it easy to send data from your Flutter app to Pendo.