Giter Club home page Giter Club logo

customerio-plugin's Introduction

posthoglogo

PRs Welcome Docker Pulls GitHub commit activity GitHub closed issues

Docs - Community - Roadmap - Changelog - Bug reports

PostHog Demonstration
See PostHog in action

PostHog is an all-in-one, open source platform for building better products

  • Specify events manually, or use autocapture to get started quickly
  • Analyze data with ready-made visualizations, or do it yourself with SQL
  • Only capture properties on the people you want to track, save money when you don't
  • Gather insights by capturing session replays, console logs, and network monitoring
  • Improve your product with A/B testing that automatically analyzes performance
  • Safely roll out features to select users or cohorts with feature flags
  • Send out fully customizable surveys to specific cohorts of users
  • Connect to external services and manage data flows with PostHog CDP

PostHog is available with hosting in the EU or US and is fully SOC 2 compliant. It's free to get started and comes with a generous monthly free tier:

  • 1 million product analytics events
  • 5k session replays
  • 1 million feature flag requests
  • 250 survey responses

We're constantly adding new features, with web analytics and data warehouse now in beta!

Table of Contents

Get started for free

PostHog Cloud (Recommended)

The fastest and most reliable way to get started with PostHog is signing up for free to PostHog Cloud or PostHog Cloud EU. Your first 1 million events (and 5k replays) are free every month, after which you pay based on usage.

Open-source hobby deploy (Advanced)

You can deploy a hobby instance in one line on Linux with Docker (recommended 4GB memory):

 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/posthog/posthog/HEAD/bin/deploy-hobby)" 

Open source deployments should scale to approximately 100k events per month, after which we recommend migrating to a PostHog Cloud instance. See our docs for more info and limitations. Please note that we do not provide customer support for open source deployments.

Docs

ui-demo

Want to find out more? Request a demo!

PostHog brings all the tools and data you need to build better products.

Analytics and optimization tools

  • Event-based analytics: Capture your product's usage automatically, or customize it to your needs
  • User and group tracking: Understand the people and groups behind the events and track properties about them when needed
  • Data visualizations: Create and share graphs, funnels, paths, retention, and dashboards
  • SQL access: Use SQL to get a deeper understanding of your users, breakdown information and create completely tailored visualizations
  • Session replays: Watch videos of your users' behavior, with fine-grained filters and privacy controls, as well as network monitoring and captured console logs
  • Heatmaps: See where users click and get a visual representation of their behaviour with the PostHog Toolbar
  • Feature flags: Test and manage the rollout of new features to specific users and groups, or deploy flags as kill-switches
  • A/B and multivariate experimentation: run simple or complex changes as experiments and get automatic significance calculations
  • Correlation analysis: Discover what events and properties correlate with success and failure
  • Surveys: Collect qualitative feedback from your users using fully customizable surveys

Data and infrastructure tools

Read a full list of PostHog features.

Contributing

We <3 contributions big and small. In priority order (although everything is appreciated) with the most helpful first:

Philosophy

Our mission is to increase the number of successful products in the world. To do that, we build product and data tools that help you understand user behavior without losing control of your data.

In our view, third-party analytics tools do not work in a world of cookie deprecation, GDPR, HIPAA, CCPA, and many other four-letter acronyms. PostHog is the alternative to sending all of your customers' personal information and usage data to third parties.

PostHog gives you every tool you need to understand user behavior, develop and test improvements, and release changes to make your product more successful.

PostHog operates in public as much as possible. We detail how we work and our learning on building and running a fast-growing, product-focused startup in our handbook.

Open-source vs. paid

This repo is available under the MIT expat license, except for the ee directory (which has its license here) if applicable.

Need absolutely 💯% FOSS? Check out our posthog-foss repository, which is purged of all proprietary code and features.

To learn more, book a demo or see our pricing page.

We’re hiring!

Come help us make PostHog even better. We're growing fast and would love for you to join us.

Contributors 🦸

customerio-plugin's People

Contributors

abigsmall avatar albtsantos avatar conradkurth avatar kappa90 avatar macobo avatar marconlp avatar mariusandra avatar purcell3a avatar tiina303 avatar timgl avatar tkaemming avatar tomasfarias avatar twixes avatar yakkomajuri avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

customerio-plugin's Issues

Created at is sent in invalid format.

Customer.io requires unix time e.g. 1687336824

Posthog is currently sending an invalid format e.g. 2023-06-15T05:40:43.000000Z, causing errors in customer.io.

Until fixed, the plugin is not really usable.

Add an option to list events to Exclude from sending to Customer.io

Currently there's an option to list events to send to Customer.io. Would be great to have another field where we can list events to be excluded from getting sent to Customer.io, including also the option exclude the Identify event (this is good for cases where the person needs to be created using the API).

Megaissue - planned upgrade work

Problems

Gathering the issues here as we will likely try and solve this in a way that is more holistic rather than patching existing broken behaviours

  • Person Profile needed for email - issue ticket ticket ticket
  • Anonymous user IDs - ticket
    • Way to specify what property to use as the ID and whether to ignore it if not found
    • Maybe we should only ever send identified users?
  • Group support - issue
  • Event filtering - issue issue
    • Could ideally be done with the new Action filtering UI rather than in code

Proposed solution

Identifying by email only works if each event sends email

The problem:

  1. we make the decision to send the person or not based on if they have ever had email set
    return customer.status.has('with_email')
  2. however in the current event we might not have the email
    const email = getEmailFromEvent(event)
    (
    customerStatus.add('with_email')
    could have been set by a previous event)
  3. then we never override the id, because we didn't have an email
    id = customer.email

If I understand correctly, then we would always want to update the properties, i.e. send the identify when the person properties change

which would mean we'd need to instead of keeping the info that the person has been identified by email we'd need to keep the emails, which is a bit tricky (running arbitrary code, e.g. SQL injection that we'll need to guard against), in addition to increasing our storage demand.

We currently don't have a way to pass person info to the plugins, which would be the ideal solution for this problem

See thread for more info: https://posthog.slack.com/archives/C03PN99EJ4C/p1675946098284529

Renaming event name when exporting to customer.io

I have the same events on both PostHog and CustomerIO but with different naming conventions. I want to take out the clientSDK of CustomerIO and use this directly through PostHog, but doing so I would have duplicate events with different naming which would be confusing on CustomerIO seeing as their platform does not allow editing/removing events.

Could there be something that allows us to transform the event name to a different name/format when passing to CustomerIO?

Update a person in Customer.io when the "Set" function is called

Currently there's no way to update a person's info once it's created in Customer.io. In PostHog, we use the "Set" function to update a user's info so it would make sense to have the "Set" function send an update request to Customer.io.

One use case is if we have a multi-step signup form, currently there's no way fill the person's info after every step. We call Identify after the first step which includes the user's unique id and email, but then when we ask for the user's first name, interests, etc in the next steps, this info doesn't reach Customer.io. Calling identify again after every step doesn't work either.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.