Stats Tracker

- id
- eventType (email_open, server_visit, browser_visit, click/scroll, etc.)
- objId
- userId
- domain
- ip
- url
- referrer
- createdAt
- browserLanguage
- userLanguage
- browser
- browserCodeName
- javaEnabled
- platform
- os
- jsVersion
- screen
- colors
- cookies
- historyLength
- countryCode
- countryName
- city
- region
- latitude
- longitude
- formData

* caching so that conversion calculations work quickly
* warehousing (dynamo db) optimized (batch)
* easy kinesis push
* realtime unique visitor count on a node via kinesis
* subscribe to kinesis channel & live update in react components

Validation Test

Kinesis PubSub...

- new kinesis channel that u can add test messages to
- react component subscribe to kinesis channel on mount, update state on changes
- button to update

DynamoDB

- create table in aws
- can insert in node
- can fetch, update, delete a record

User Stories

- as a user i want to see unique vistors in each node
- page visits or group by ip (or any field)
- i want to track anything (visits, clicks, opens, events)
- realtime
- i can filter by daterange (get count or array)
- and by utm parameters
- see results by time range
- can toggle between script, pixel, url
- for url -> i can change slug and custom domain
- for url -> i can set associated url (next page if arrow or custom url set)
- for script -> i can track sales, signups and other goals
- for script -> its a universal pixel (install once)
- add tracking script to node (e.g. retargeting)
- for node, i can add default utm paramters (override)
- for node, i can add costs: cpc, one-time charge
- i can see collection of stored scripts on a dashboard
- and i can crud them (& filter by campaign, date, etc.)
- and i can see summary of each link (people, visits, conversions, revenue, profit, roi, cost per acquisition)
- ability to customize what's shown on link tables (user customization)
- i can visit url manually
- column sorting, link searching
- customize the calculation on each node (count of uniques, visits, avg, \$amt\*uniques)
- node is customizable (more kpi's)
- tied to a user profile (ever growing, adapts to source)
  - automatically creates a profile of each person on your site with all their past visits and conversions
  - fingerprinting
  - people explorer (a way to see the profile - visits, conversions, ltv, 1st seen, last seen) - will merge with crm
  - i can search for a profile
  - for script i can programmatically label the visitors (e.g. name, email, etc.)
  - i can label via querystring
  - i can fwd query params to next page
- want to toggle between people, visits, opens, costs (cpc, cpa),
- want to see subsequent results from attribution (e.g. click fb node and see its contribution to subsequent sales: show's ONLY traffic that contributed, not any direct traffic)
- want to see summary of campaign results
  - dashboard cards
  - summary (avg, total, count, graph)
- a way to input/import cpc data (and then show profit or roi %) - can parse data from common platforms + custom template
- a way to input/import commission data (and then show profit or roi %) - can parse data from common platforms + custom template
- commission tracking
- behavior triggered by event tracked
- i can reset/clear campaign data
- spark chart as part of node background
- ip exclusion
- track time on page
- mask/iframe/og settings

node that's triggered when a behavior event occurs
