File: /var/www/html/ielts-store/wp-content/plugins/automatewoo/includes/Usage_Tracking/readme.md
# AutomateWoo Usage Tracking
The files within this directory implement usage tracking for AutomateWoo. This builds on the native [WooCommerce Usage Tracking](https://woocommerce.com/usage-tracking/), and is only enabled when WooCommerce Tracking is enabled.
When a store opts in to WooCommerce usage tracking and they use AutomateWoo, they will also be opted in to the tracking added by AutomateWoo.
## What we track
Similar to WooCommerce, we track non-sensitive data about how a store is set up and managed. We **do not track or store personal data** from your clients.
* Plugin version
* Settings:
* Whether opt-in is enabled, whether the checkbox is available on the checkout page, and whether the checkbox is available on the account sign-up page
* Whether session tracking is enabled
* Whether session tracking requires cookie consent and the name of the cookie
* Whether presubmit capture is enabled
* Whether the abandoned cart feature is enabled
* Whether the communication account tab is enabled
* Whether any of these integrations are in use: Mailchimp, Campaign Monitor, Active Campaign, Twilio, Bitly
* The names of actions that are in use
* The name of triggers that are in use
* The number of active automatic workflows
* The number of manual workflows
* The number of conversions that have been made
* The total value of all conversions
* Workflow Log data:
* Number of times workflows have run
* Number of times a workflow ran with conversion tracking enabled
* Number of times a workflow ran with tracking enabled
We also track certain user and store events, including when AutomateWoo is first installed, when a workflow is first created, when a workflow runs, and when a conversion is recorded.
## Raw tracking data
### Usage tracking additional properties
We add on to the WooCommerce tracker array as follows:
```php
$data['extensions']['automatewoo'] = [
'settings' => [
'database_version' => (string) "version",
'file_version' => (string) "version",
'optin_enabled' => (bool) "enabled",
'session_tracking_enabled' => (bool) "enabled",
'session_tracking_requires_cookie_consent' => (bool) "enabled",
'session_tracking_consent_cookie_name' => (string) "name",
'presubmit_capture_enabled' => (bool) "enabled",
'abandoned_cart_enabled' => (bool) "enabled",
'checkout_optin_enabled' => (bool) "enabled",
'account_optin_enabled' => (bool) "enabled",
'communication_account_tab_enabled' => (bool) "enabled",
'mailchimp_integration_enabled' => (bool) "enabled",
'campaign_monitor_integration_enabled' => (bool) "enabled",
'active_campaign_integration_enabled' => (bool) "enabled",
'twilio_integration_enabled' => (bool) "enabled",
'bitly_shorten_sms_links' => (bool) "shorten",
],
'active_actions' => [ /* action names as keys, counts as values */ ],
'active_triggers' => [ /* trigger names as keys, counts as values */ ],
'active_automatic_workflows' => (int) "count",
'manual_workflows' => (int) "count",
'conversion_count' => (int) "count",
'conversion_value' => (float) "value",
'log_counts' => [
'total' => (int) "count",
'conversion_tracking_enabled' => (bool) "enabled",
'tracking_enabled' => (bool) "enabled",
],
];
```
### Tracking events
All event names are prefixed by `wcadmin_aw_`.
* `workflow_before_run` – triggered when a workflow runs
* `workflow_created` – triggered when a workflow is first created
* `conversion_recorded` – triggered when a conversion is recorded
* `first_installed` – triggered when AutomateWoo is installed for the first time
* `manual_workflow_runner_select_workflow` – triggered when a workflow is selected when using the workflow runner
* `manual_run_workflow_button_clicked` – triggered when the run workflow button is clicked
* `manual_find_matching_cancel_button_clicked` – triggered when the workflow runner find matching items cancel button is clicked
* `manual_queue_items_cancel_button_clicked` – triggered when the workflow runner queue items cancel button is clicked
* `manual_run_workflow_complete` – triggered when the workflow runner completes queuing workflow items
* `notice_viewed` – triggered when an admin notice is displayed (includes `notice_identifier` property to distinguish which notice)
* `notice_link_clicked` – triggered when a link in an admin notice is clicked (includes `notice_identifier` and `link_type` properties)
* `notice_dismissed` – triggered when an admin notice is dismissed by the user (includes `notice_identifier` property)
* `workflow_tab_view` – triggered when each "AutomateWoo > Workflows" tab is viewed by the user
* `preset_list_button_clicked` – fires when a button in the workflow presets list is clicked
* `preset_activation_alert_rendered` – triggered when a message to confirm preset activation is rendered (includes `is_active` property)
* `preset_activation_alert_closed` – triggered when a preset activation alert is closed
(includes properties `is_active`, and `action: 'confirm' | 'cancel' | 'dismiss'` )
## Available hooks
Hook name | Hook type | Default value | Additional Information
--------- | --------- | ------------- | ----------------------
`automatewoo/usage_tracking/enabled` | Filter | `true` | Enables or disables AutomateWoo usage tracking.
`automatewoo/usage_tracking/init` | Action | n/a | Runs before track events and tracker data is initialized.
`automatewoo/usage_tracking/addon_tracking_classes` | Filter | empty array | Allows add-ons to include their own usage tracking classes for initialization.
`automatewoo/usage_tracking/addon_base_properties` | Filter | empty array | Allows add-ons to include properties with all tracks events.