Is there a way for a plugin to add custom JS to tracker response and have the piwik.js parse/execute it?
It is technically possible but as @mattab mentioned there are no docs which actually is missing because it is not really a public API and neither supported right now. Basically you can create a
tracker.js file or
tracker.min.js file in your plugin and it will be copied into the piwik.js
@tsteur maybe we could make this public API in Piwik 4? (moving tentatively)
could maybe make it but maybe lets see again when we get to it. Would require a bit more work and especially documentation. Not having a big opinion on it but would need to think more about it also for long term how this should work
Let's document that this "API" exists, first of all. I used this interface also for my plugin for #11405 after trying hard with custom variables, setCustomTrackingParameter (not available for JS tracker) and so on... it was quite a pain.
What is also undocumented is that the plugin class needs to override the method isTrackerPlugin like so
My plugin broke with Matomo 3.13 due to lacking this code, I had to make a bugfix release.
@johsin18 fixed the
isTrackerPlugin regression in https://github.com/matomo-org/matomo/pull/15954 and documented the tracker in https://github.com/matomo-org/developer-documentation/pull/345 which now only needs a review.
@loki495 things are now documented in https://developer.matomo.org/guides/enrich-js-tracker