All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Add
module
field in package.json for bundlers (thanks @mathe42, #32)
- Ignore updateRecord request if website is in background (thanks @thecodrr, #30)
- Re-added
ignoreOwnVisits
option which is now enabled by default, but can be turned off when using a wildcardAccess-Control-Allow-Origin
header
This release introduces support for events along with a few breaking changes to make this feature possible.
This change is relevant for everyone.
Requires a new Access-Control-Allow-Credentials
header and a non-wildcard Access-Control-Allow-Origin
header. Make sure to add this header in your server or reverse proxy configuration. Disable ignoreOwnVisits
when using a wildcard Access-Control-Allow-Origin
header.
This change is only relevant for you when using ackee-tracker in the Manually or Programmatic way.
.create
must be called with the server URL instead of an object with the server URL and domain id.
-ackeeTracker.create({
- server: '<server>',
- domainId: '<domainId>'
-})
+ackeeTracker.create('<server>')
This change is only relevant for you when using ackee-tracker in the Manually or Programmatic way.
.record
must be called with the domain id.
-instance.record()
+instance.record('<domainId>')
This change is only relevant for you when using ackee-tracker in the Manually or Programmatic way.
We previously stopped existing record updates when calling .record
, again. This isn't the case anymore. Please use the returned stop
function instead.
-// Second call stops updates of first call
-instance.record('<domainId>')
-instance.record('<domainId>')
+// First call needs to be stopped manually
+const { stop } = instance.record('<domainId>')
+stop()
+instance.record('<domainId>')
- Callback for
.record
(#19) .updateRecord
function to update an existing record (#19).action
and.updateAction
function to create and update an action to track events- Uses source parameter and transfers them to Ackee (thanks @BetaHuhn, #27)
ignoreOwnVisits
is now enabled by default.create
must be called with the server URL instead of an object with the server URL and domain id.record
must be called with the domain id- Calling
.record
again won't stop existing record updates. Use the returnedstop
function instead.
- Ignore your own visits using the
ignoreOwnVisits
(thanks @yehudab)
- Ignore bots (#25, #7, thanks @yehudab)
- Recommend to use the script served by your Ackee installation (#23)
- Use
window.outerWidth
andwindow.outerHeight
to avoid that the browser triggers a repaint when the script loads (#12)
- Don't log warning when running server-side (#20)
- README design
- Support the GraphQL API of Ackee v2
- Dropped support for older Ackee versions (< 2.0)
.record
now returns an object with a stop-function instead of returning the stop-function directly
.record
returns a function that allows you to stop updating records
- Maintenance
- The update of old records will be canceled when you call
.record()
- Reduce amount of record updates (from 5s to every 15s)
detailed
option to opt-in for personal/detailed tracking
- Attributes (
.attributes()
) don't include personal data by default
- Remove
doNotTrack
option as it did not make it past the Candidate Recommendation stage
- Fix default option when not providing attribute options
- Error when not providing attribute options
- README with multiple usage examples
detect
looks for an element with Ackee attributes, creates an instance and starts tracking
null
in PATCH request
- Incorrect API data
- Replace
gulp
andbasicTasks
with custom build process
- Added a changelog
- Compatible with the new Ackee API
- Syntax changes
- Polish attributes before sending them