Case: Customer.io — Successful Integration to Django Project
Software Development Hub has extensive expertise in software, web, and mobile engineering creating cutting-edge software solutions. However, alas, not all projects have enough time, human and financial resources to develop “all-inclusive” software, so it becomes necessary to use and integrate well-proven off-the-shelf solutions for various purposes. For instance, as an event-based email service provider, such a powerful tool as a Customer.io can be considered.
What is Customer.io?
Customer.io is an automated messaging platform for any business that allows using highly personalized different message types as workflows, newsletters, and transactional messages triggered automatically or by API request to send SMS, e-mails, push notifications, and in-app messages. Also, it helps to track various kinds of user’s activity of the product-integrator, which, in turn, eventually leads to the formation of user behavior patterns, segmenting, educates new users on the product, and shapes behavior.
Here is a list of our top-ranked features of Customer.io.
Dynamic campaign updates
The main advantage that we have discovered so far is that it allows users to create new events and/or update users' attributes and events even if the users have already started their campaigns. This is very handy if it is needed to get and update information.
On-the-fly campaign updates are also a great advantage. So there is no need to create a new one if some changes occur.
Campaign workflow
Segmentations
Customer.io allows the creation of users groups that are organized by defined criteria, characteristics, and/or behavior called Segments.
Created Segment
There are two types of segments:
- Data-driven — users move in and out of segments automatically when they meet or fail to meet the conditions that are set for the segment.
- Manual — users move in and out of segments when they are explicitly added to or removed from them.
Segments may be used for different purposes like mailing lists, campaign triggers, filters, conversion goals, etc.
Detailed Information on User
As the Customer.io account owner, it is possible to view all information associated with a specific user.
This information includes:
- User Customer.io status
- Dates of creation, last message
- All attributes
- Recent activity log (attributes changes, messages activity statuses, events, etc.)
- Deliveries
- User’s segments
- User’s journeys
Detailed Information About User
Integrations
Customer.io provides a flexible way to integrate business, either direct integration via RESTFul API, or third-party applications. It lets connect and integrate over 1000 third-party applications of different types:
- Advertising (e.g., Google Ads, Instagram Ads, LinkedIn Ads, YouTube Ads)
- Analytics (e.g., Google Analytics)
- Automation (e.g., AWS Lambda, Zapier)
- Billing and payment (e.g., PayPal, Harvest)
- Content management (e.g., WordPress, BaseCamp)
- Customer support (e.g., InterCom, LiveChat)
- Data management (e.g., Alloy, Google Tag Manager, Stories)
- Databases (e.g., Dropbox, Airtable, Google Docs, Google Sheets)
- Developer tools (e.g., Bitbucket, Gitlab, GitHub)
- Ecommerce (e.g., Magento, Shopify)
- Email verification (e.g., Emailable, mailfloss)
- Lead generation (e.g., Google Forms, Instagram Lead Ads, HubSpot)
- Live event management (e.g., LiveStorm, CrowdCast, Tickera)
- Message channels (e.g., Amazon Polly, Mailgun, Slack, Twilio SMS, WhatsApp)
- Message deliverability (e.g., Litmus)
- Online courses (e.g., Kajabi, Northpass)
- Product and design (e.g., Promoter.io, Aha!)
- Project management (e.g., Jira, Trello, Asana)
- Recommendation engines
- Sales and CRM (e.g., Google Contacts, Salesforce, Pipedrive)
- Scheduling (e.g., Zoom, Google Calendar, Acuity)
- Social (e.g., Instagram Posts, LinkedIn, Twitter, YouTube, Vimeo)
- Surveys (e.g., SurveyMonkey, Typeform, Digioh)
Exporting and Reporting
The other useful thing we found about Customer.io is that it offers various options to export many kinds of information without using third-party services, but with data warehouse sync, API, webhooks, or to CSV file. This information includes performance, campaign, event, and attribute data, etc.
Also, it provides for our opinion great analysis reports and metrics in different views, the particular reports criteria can be specified in a table or chart views.
Analysis results for the whole business
Analysis results for the all campaigns
Detailed metrics for the Campaign
To measure the effectiveness of messaging campaigns, Customer.io creates the following metrics as Sent, Delivered, Opened, Clicked, Click-to-open, Converted, Unsubscribed, Marked-as-spam, Failed, Bounced, and Suppressed.
The only drawback in Customer.io we have found so far is that it does not provide its own online live support. But it allows integrations with other services that do, i.e., Intercom, or Live Chat. :)
Cases of implementations
Two examples of successful deployments of Customer.io in our projects are as follows.
SDH own module for interaction with Customer.io
Customer.io provides their own client library to have access to all of their features. Still, we have implemented our own module to interact with Customer.io to make it more efficient for our development needs, i.e. the methods of the module were developed using Celery to make these methods asynchronous.
For instance, there is a default track method to send a user to Customer.io, which, if used, requires the user to wait for the result of the request. To solve this problem, we have implemented our own track method in Celery to have all requests executed in the queue - there is no need to wait for the result of the request, the user proceeds to work directly with the application business functionality.
Data recovery using track & identify
Interaction with Customer.io is divided into using of track and identify methods. The track method is used for posting the event, e.g., something has happened, and the identify method is for transferring data, e.g. something has changed. In turn, the tracking method contains the identify method.
Here is a case of using such methods. If the data has been lost or damaged in Customer.io, there is a loss not only of data but events associated with these data changes.
If the loss data is still stored in the application database (i.e., Mongo logs), by means of default methods, it is possible to send POST requests to revive the event that contains all necessary data using post links, names and timestamps of events. Also, the segmentation can be renewed in this case.
Furthermore, this approach is appropriate if Customer.io is introduced into an already-released application, not from the early stages of development.
Thus, it can be concluded that CIO is a powerful tool to create user profiles, track all user-related events and trigger messaging and notifications depending on the customer's application usage. In addition, the client library is provided, which can be customized to the needs of each project.
Categories
Share
Need a project estimate?
Drop us a line, and we provide you with a qualified consultation.