Case: Customer.io — Successful Integration to Django Project

Nov 11, 2022 0 min read 963
Anastasiia Strielkina PhD. Business Analyst
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.

Customer.io Campaign workflow on Django project - 1

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  - 1

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 - 1
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 - 1
Analysis results for the whole business

Analysis results for the all campaigns  -1
Analysis results for the all campaigns

Detailed metrics for the Campaign - 1

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

Customer.io

Share

Need a project estimate?

Drop us a line, and we provide you with a qualified consultation.

x