ember-metrics adapter for Simple Analytics
- Ember.js v3.28 or above
- Embroider or ember-auto-import v2
- ember-metrics v2
ember install ember-metrics-simple-analytics
To setup, you should first configure the service through config/environemnt
:
module.exports = function (environment) {
var ENV = {
metricsAdapters: [
{
name: 'SimpleAnalytics',
environments: ['production'],
}
]
}
}
See the Simple Analytics Docs for more details about the configuration options.
module.exports = function (environment) {
var ENV = {
metricsAdapters: [
{
name: 'SimpleAnalytics',
environments: ['production'],
config: {
autoCollect: 'true',
allowParams: 'product-id',
collectDnt: false,
hostname: 'picturewham.com',
ignoreMetrices: ['scrolled', 'timeonpage'],
ignorePages: ['/search/contact', '/vouchers/*'],
mode: 'hash',
nonUniqueHostnames: 'checkout.stripe.com',
pathOverwriter: 'myPathOverwriter',
src: 'https://my-custom-script.example.org/latest.js',
}
}
]
}
}
This adapter by default sets Simple Analytics auto collect to false. You must explicitly call trackPage
when you transition into a route and you need to register SimpleAnalytics
as a metrics-adapter
, for example:
// app/routes/application.js
import Route from '@ember/routing/route';
import { getOwner } from '@ember/application';
import { service } from '@ember/service';
import SimpleAnalytics from 'ember-metrics-simple-analytics';
export default class ApplicationRoute extends Route {
@service metrics;
@service router;
constructor() {
super(...arguments);
getOwner(this).register(
'metrics-adapter:simple-analytics',
SimpleAnalytics
);
this.router.on('routeDidChange', () => {
const page = this.router.currentURL;
const title = this.router.currentRouteName || 'unknown';
this.metrics.trackPage({ page, title });
});
}
}
To send custom events use:
this.metrics.trackEvent({ name: 'myCustomeEvent', someotherkey: 'brilliant' });
If you've used Simple Analytics before without ember-metrics
then you'll notice that auto page view collection is usually enabled for Simple Analytics without this adapter.
Disabling Simple Analytics auto collect page views in this adapter allows for better integration with ember-metrics
; it works well with multiple other adapters and is the expected behaviour of ember-metric adapters.
Simple Analytics provides numerous mechanisms to collect additional data for events and page views. The ember-metrics
context
should be used instead of the Simple Analytics specific metadata mechanisms.
Warning Do not include personal data in your metadata like email addresses, identifiers, or any other type of personal data. Simple Analytics don’t allow it and your account might be suspended.
this.metrics.context = {
plan: 'starter'
};
See the Contributing guide for details.
This project is licensed under the MIT License.