The metrics collection and analysis plan for Send, a forthcoming Test Pilot experiment.
## Analysis
Data collected by Send will be used to answer the following high-level questions:
- Do users send files?
- How often? How many?
- What is the retention?
- What is the distribution of senders?
- How do recipients interact with promotional UI elements?
- Are file recipients converted to file senders?
- Are non-Firefox users converted to Firefox users?
- Where does it go wrong?
- How often are there errors in uploading or downloading files?
- What types of errors to users commonly see?
- At what point do errors affect retention?
## Collection
Data will be collected with Google Analytics and follow [Test Pilot standards](https://github.com/mozilla/testpilot/blob/master/docs/experiments/ga.md) for reporting.
### Custom Metrics
-`cm1` - the size of the file, in bytes.
-`cm2` - the amount of time it took to complete the file transfer, in milliseconds. Only include if the file completed transferring (ref: `cd2`).
-`cm3` - the rate of the file transfer, in bytes per second. This is computed by dividing `cm1` by `cm2`, not by monitoring transfer speeds. Only include if the file completed transferring (ref: `cd2`).
-`cm4` - the amount of time until the file will expire, in milliseconds.
-`cm5` - the number of files the user has ever uploaded.
-`cm6` - the number of unexpired files the user has uploaded.
-`cm7` - the number of files the user has ever downloaded.
-`cd1` - the method by which the user initiated an upload. One of `drag`, `click`.
-`cd2` - the reason that the file transfer stopped. One of `completed`, `errored`, `cancelled`.
-`cd3` - the destination of a link click. One of `experiment-page`, `download-firefox`, `twitter`, `github`, `cookies`, `terms`, `privacy`, `about`, `legal`, `mozilla`.
-`cd5` - the referring location. One of `completed-download`, `errored-download`, `cancelled-download`, `completed-upload`, `errored-upload`, `cancelled-upload`, `testpilot`, `external`.
_NB:_ due to how files are being tracked, there are no events indicating file expiry. This carries some risk: most notably, we can only derive expiration rates by looking at download rates, which is prone to skew if there are problems in data collection.
#### `upload-started`
Triggered whenever a user begins uploading a file. Includes:
-`ec` - `sender`
-`ea` - `upload-started`
-`cm1`
-`cm5`
-`cm6`
-`cm7`
-`cd1`
-`cd5`
#### `upload-stopped`
Triggered whenever a user stops uploading a file. Includes: