Skip to content

Commit

Permalink
Version 4.8.5
Browse files Browse the repository at this point in the history
Signed-off-by: Christopher Rogers <[email protected]>
  • Loading branch information
chrissrogers committed Mar 29, 2018
1 parent d5a342e commit 128f0f5
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 3 deletions.
68 changes: 68 additions & 0 deletions ANALYTICS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
Analytics endpoints
====

# Purpose

To collect data about various events that occur during a customer's interaction
with recurly.js, from card entry, to error occurrences, abandonment, tokenization,
with understanding of customer interaction timeframes, dropoffs, and funnel behaviors

# POST /js/v1/event

```
Class RecurlyJsEvent
{
category: 'user', // 'merchant', 'recurly'
action: 'tokenize-start',
customerId: 'abc123',
sessionId: 'xyz789',
url: 'https://merchant.com/checkout',
initiatedAt: '2018-03-12T19:01:51.511Z', // exact time the event occurred in the browser, UTC
meta: {
method: 'recurly.token',
value: '', // in case of some value being conveyed i.e. during pricing
// arbitrary: 'values'
// ...
}
}
```

## Data applied by headers

{
userAgent: 'Mozilla/5.0 ...',
receivedAt: '2018-03-12T19:01:51.975Z', // time at which the event was received
remoteIP: '0.0.0.0'
}

# Logging services

1. Splunk
2. [Google Analytics Measurement Protocol]
1. https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide

# Client requirements

1. recurly.event method
2. localStorage.recurly.customerId: uuid generated per customer, stored indefinitely
3. localStorage.recurly.sessionId: uuid generated per customer, stored short-term, TTL 1h
4. recurly.event calls: tbd by org requirements

# Tasks

1. Create /js/v1/event endpoint, RecurlyJsEvent, and Splunk logging routine
2. Create client customer and session id
3. Create client event method
4. Create events
1. tokenization
2. hosted field interaction: value entry, focus, blur. Each with field state conveyed
3. pricing manipulations: plan choice, coupon entry, etc
4. user error occurrences
5. runtime error occurrences
6. [further scope and number tbd by org requirements]

# Remaining discovery

1. Assess initial org requirements/asks from marketing, sales, product, engineering. This blocks task 4.6
2. Assess merchant impact of customer data collection. Are we limited by our ToS or implicit recurly-merchant relationship ethics on what customer actions and data we should collect?
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
## Recurly.js CHANGELOG

### Version 4.8.5

* Adds hosted field tabIndex configuration [#448][448]

### Version 4.8.4

* Adds option to hide the card hosted field card brand icon [#433][433]
Expand Down Expand Up @@ -216,6 +220,7 @@

* Full rewrite for Billing Info tokenization

[448]: https://github.com/recurly/recurly-js/commit/d5a342e0f7758a694462359c28f63a8411a722b7
[433]: https://github.com/recurly/recurly-js/commit/b22e51ad18e159b74dd73604b5218a10ff702098
[426]: https://github.com/recurly/recurly-js/commit/74cbea1723b9238e76460b4c6477a0ecd26c75ab
[421]: https://github.com/recurly/recurly-js/commit/f9c46b15da5bd5b0ed4278060fa53d47407437bd
Expand Down
2 changes: 1 addition & 1 deletion lib/version.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
* Current package/component version.
*/

module.exports = '4.8.4';
module.exports = '4.8.5';
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "recurly.js",
"description": "Zen subscription billing in the browser",
"version": "4.8.4",
"version": "4.8.5",
"license": "MIT",
"main": "recurly.js",
"repository": {
Expand Down

0 comments on commit 128f0f5

Please sign in to comment.