Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Webhooks for Log Tracker events (goals, ecommerce, events, content interactions...) #6209

Open
mattab opened this issue Sep 14, 2014 · 8 comments
Labels
c: Platform For Matomo platform changes that aren't impacting any of our APIs but improve the core itself. Enhancement For new feature suggestions that enhance Matomo's capabilities or add a new report, new API etc. Major Indicates the severity or impact or benefit of an issue is much higher than normal but not critical.

Comments

@mattab
Copy link
Member

mattab commented Sep 14, 2014

Webhook for Matomo

The goal of this issue is to trigger webhooks when specific actions occur on the website such as Goals conversions, ecommerce, events, content interactions...

Examples & future uses for Matomo webhooks

Feel free to contribute ideas in comments!

@mattab mattab added Enhancement For new feature suggestions that enhance Matomo's capabilities or add a new report, new API etc. c: Platform For Matomo platform changes that aren't impacting any of our APIs but improve the core itself. labels Sep 14, 2014
@mattab mattab added this to the Mid term milestone Sep 14, 2014
@mattab mattab changed the title Log Tracker events (goals, ecommerce, events, content interactions) to a generic logger Log Tracker events (goals, ecommerce, events, content interactions) to a generic logger (or message bus, chatbot) Apr 4, 2016
@mattab mattab added the Major Indicates the severity or impact or benefit of an issue is much higher than normal but not critical. label May 6, 2016
@mattab mattab modified the milestones: Mid term, Long term Dec 5, 2016
@johnaschroeder
Copy link

I'd love to see Matomo offer some type of external notification capability for events and/or goals via webhooks. That would allow me to have Matomo hit our API when a user hits a goal and we can then trigger an email/SMS/push or other integration to message them. Just POSTing the unique goal and user id that we set in Matomo would do it.

Sending an email after a user registers is easy. Sending them one after they complete a multi-step goal isn't so easy. Nor is tracking when a user does 3 out of the 4 things I want them to do after on-boarding but fails to complete the 4th. I'd love to send them a message with encouragement and helpful tips, and send it once and only once.

Triggering any sort of external action from an analytics service seems like a hole in the market. There are tons of analytics products, and plenty of messaging products, but linking the two together is proving elusive. I've found a ton of integrations for getting information into analytics products, but I can't find one that can get information out automatically, either through webhooks or some other mechanism.

I used and like Mixpanel at two former companies. It seems like the closest product that isn't aimed strictly at brand/enterprise only account. It offers email, sms, and push notifications that you can build into campaigns around events and user actions. Unfortunately it's literally split in two (analytics and people) and it's not possible to drill down from the analytics side to a person level. The people side has the events for each user, but it's awkward transitioning back and forth. Although they have a nice free package to entice startups, it gets up into the thousands per month in a hurry as you scale.

Count.ly offers push, but not email or SMS. Plus the community version of count.ly is pretty stripped down and all the interesting bits are in enterprise. All their development also seems focused on growing the enterprise plugins, and it starts and hundres

This issue seems like it's more focused on notifications to product managers than users, but the same infrastructure could power a more generalized notification system. The ability to build a series of notifications as users achieve (or don't achieve) goals is fantastic and could be a big differentiator for Matomo. I hope this gets another look!

@tsteur
Copy link
Member

tsteur commented Apr 18, 2019

@johnaschroeder be great to learn a bit more about the use cases. When you talk about notifications I understand it's not you who wants to receive those notifications, but you want to send notifications to users automatically? For example they will to complete a specific sequence etc.

So far we don't really have any data in Matomo to email/sms users etc. unless you use the UserId feature where some users set the email address. I suppose you have the email addresses for your visitors eg they log in to your platform? or they filled out a form before? I guess the biggest challenge is really having those details in Matomo eg through Custom Dimensions or the userId feature.

The beauty is when you self host Matomo On-Premise, and you have some developer skills (or someone in the company), this could be potentially fairly easily developed.

@johnaschroeder
Copy link

@tsteur yes, we want to communicate with users around goals. I'd be fine with using goals to accomplish that, but have a look at the granular targeting the mixpanel offers for messages here.

I assumed that I would pass Matomo our internal user_id (uuid) when a user registered as userId, and also email, type of user, etc to build up a profile. That's what we typically did with mixpanel. They have an api for converting an anonymous user to a registered user where you can pass user id and details. Then I can segment by type of user, total purchases, number of actions, etc. I want to be able to communicate on a personalized basis with users based on who they are and what they've done.

All I would expect for functionality is being able to add an external API endpoint (and likely an auth token) to a goal (and later maybe a filter, like user_country = USA). When a user achieves the goal, you post the goal id and user id to the endpoint with the token in the header. Now I can catch that and fire off some action of our choosing, like a push with a video on next steps or other things to explore.

Right now we are looking at starting with mixpanel and then migrating to snowplow (open source) with either an open source analytics package on top of that (metabase etc) or maybe Indicative. That looks very slick. I really love the idea of all our data about a user from analytics, our database, stripe, etc in one place and then being able to set up automated, customized communication paths based on all the data. We're also keeping our eye on gitlab's meltano project.

As for developing it ourselves around Matomo, we're a tiny startup and while analytics are super important we need 99% of our developer focus on shipping product until we get a little bigger. That said, I think this kind of feature would be appealing to a much broader audience and help you differentiate yourselves further.

@tsteur
Copy link
Member

tsteur commented Apr 23, 2019

Thanks for the explanation. So just to fully understand: The notifications (email, sms, push) wouldn't be send from us in real time but instead you trigger it based on a goal/segment/...? And just to be sure as you mention it... your external API endpoint would actually send the notifications or would you expect this Matomo to do?

And the webhooks would be fired immediately though maybe (as usual for webhooks).

@johnaschroeder
Copy link

I'd suggest starting with just a webhook where we send the communication. Then you can add on email/sms/push creation, integrate with sendgrid/aws/mailgun, twillio, etc and presto you're mixpanel.

@mattab mattab changed the title Log Tracker events (goals, ecommerce, events, content interactions) to a generic logger (or message bus, chatbot) Webhooks for Log Tracker events (goals, ecommerce, events, content interactions...) Aug 7, 2019
@matomo-org matomo-org deleted a comment from mnapoli Aug 7, 2019
@matomo-org matomo-org deleted a comment from moritzsternemann Aug 7, 2019
@mattab
Copy link
Member Author

mattab commented Aug 7, 2019

I'd suggest starting with just a webhook where we send the communication. Then you can add on email/sms/push creation, integrate with sendgrid/aws/mailgun, twillio, etc and presto you're mixpanel.

Thanks for the feedback @johnaschroeder - renamed the issue and simplified the issue description.

@nf3
Copy link

nf3 commented Jul 21, 2022

I would also like matomo to be able to call a webhook on a Tracker event.

I want to configure a URL, an Auth Bearer Token in matomo and have matomo call that webhook with the data from the tracker event.

@digitalextremist
Copy link

digitalextremist commented Oct 18, 2023

This seems possible to achieve without necessarily modifying matomo -- but it would be nice if it were either a plugin or built into the core. Having webhooks fire at granular events is pretty much the norm now. This functionality would seem inevitable.

An example would be using n8n or other such intermediate system to emit events off of polling read-only MySQL rows.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c: Platform For Matomo platform changes that aren't impacting any of our APIs but improve the core itself. Enhancement For new feature suggestions that enhance Matomo's capabilities or add a new report, new API etc. Major Indicates the severity or impact or benefit of an issue is much higher than normal but not critical.
Projects
None yet
Development

No branches or pull requests

5 participants