These hooks cover the tracking REST endpoint, event queue, conversion attribution, analytics dashboard data, and order attribution UI in WooCommerce/EDD admin.
Index: Hook Reference Hub. REST: POST /wp-json/notifal/v1/onpage/track in REST API Reference.
Pro provides enhanced metrics through bridge filters documented in Pro Integration Bridge.
Tracking REST pipeline
Actions
| Hook | Parameters | Description |
|---|
notifal/onpage/tracking/before_process | none | Before tracking request is processed |
notifal/onpage/tracking/after_process | none | After tracking request completes |
notifal/onpage/tracking/validation/before | none | Before tracking payload validation |
notifal/onpage/tracking/validation/after | none | After tracking payload validation |
notifal/onpage/tracking/event_stored | none | After a tracking event is persisted |
Filters
| Hook | Parameters | Description |
|---|
notifal/onpage/tracking/data | array $tracking_data | Incoming tracking payload before processing |
notifal/onpage/tracking/use_queue | bool $use_queue | Enable/disable background queue (default true) |
notifal/onpage/tracking/validation/rules | array $validation_rules | Required fields and valid event types |
notifal/onpage/event/queue_data | array $event_data | Event data before queue storage |
Event queue lifecycle actions: Lifecycle and Bootstrap.
Analytics dashboard (actions and filters)
Actions
| Hook | Parameters | Description |
|---|
notifal/onpage/analytics/enqueue_assets | none | Enqueue analytics dashboard assets |
notifal/onpage/analytics/refresh/completed | array $result | After dashboard refresh event processing |
Filters
| Hook | Parameters | Description |
|---|
notifal/onpage/analytics/data | array $data | Full analytics payload (overview, tables, etc.) |
notifal/onpage/analytics/filtered_notification_ids | int[] $notification_ids, array $filters | Notification IDs in analytics query scope |
notifal/onpage/analytics/all_time_start_date | string $start_date | Start date when date_range is all_time (Y-m-d) |
notifal/onpage/analytics/track_click_class | string $class_name | CSS class (no dot) counting as analytics clicks (default notifal-track-click) |
notifal/onpage/analytics/button_click_rows | array $rows, array $filters, array $pagination | Paginated per-button click breakdown (Pro) |
notifal/onpage/analytics/format_money | string $formatted, float $amount | Plain-text money string in admin |
notifal/onpage/analytics/money_js_config | array $config, mixed $formatter | Chart money settings for JavaScript |
Pro analytics bridge (filters)
Base plugin defines these; Notifal Pro registers implementations when licensed.
| Hook | Parameters | Description |
|---|
notifal/onpage/is_pro_analytics_active | bool $active | Whether Pro analytics is active |
notifal/onpage/get_pro_analytics_service | mixed $service | Pro analytics service instance |
notifal/onpage/analytics/get_chart_data | array $default_data, array $filters | Time-series chart data |
notifal/onpage/analytics/get_top_performing | array $default_data, int[] $notification_ids, string $start_date, string $end_date | Top performing notifications |
notifal/onpage/analytics/calculate_ctr | float $default, int $notification_id, array $date_range | Click-through rate for one notification |
notifal/onpage/analytics/calculate_conversion_rate | float $default, int $notification_id, array $date_range | Conversion rate for one notification |
notifal/onpage/analytics/calculate_close_rate | float $default, int $notification_id, array $date_range | Close rate for one notification |
notifal/onpage/analytics/calculate_period_ctr | float $default, array $stats | Period CTR from aggregated stats |
notifal/onpage/analytics/calculate_period_conversion_rate | float $default, array $stats | Period conversion rate |
notifal/onpage/analytics/calculate_period_close_rate | float $default, array $stats | Period close rate |
notifal/onpage/analytics/calculate_metric_growth | float $default, float $current, float $previous | Metric growth percentage |
Conversions (actions and filters)
Actions
| Hook | Parameters | Description |
|---|
notifal/onpage/conversion/recorded | array $conversion_data | After a conversion is recorded |
notifal/onpage/conversion/status_updated | int $order_id, string $status | Conversion status updated for an order |
Filters
| Hook | Parameters | Description |
|---|
notifal/onpage/conversion/attribution_window | int $window | Attribution window in seconds (default 7 days) |
notifal/onpage/conversion/paid_order_statuses | string[] $statuses | WooCommerce order statuses counted as paid (without wc- prefix) |
Order attribution (actions and filters)
Shown on WooCommerce order and EDD payment admin screens.
Actions
| Hook | Parameters | Description |
|---|
notifal/order_attribution/before_render | int $orderId | Before attribution panel renders |
notifal/order_attribution/after_render | int $orderId | After attribution panel renders |
Filters
| Hook | Parameters | Description |
|---|
notifal/order_attribution/data | array $attributionData, int $orderId | Attribution rows from conversions table |
notifal/order_attribution/show_column | bool $show | Show Notifal column in order list |
notifal/order_attribution/ajax_capability | string $capability | Capability for attribution AJAX |
notifal/order_attribution/can_view | bool $allowed, int $orderId | Whether current user can view attribution via AJAX |
| Hook | Type | Parameters | Description |
|---|
notifal/dashboard_widget/before_render | action | none | Before WP dashboard widget content |
notifal/dashboard_widget/after_render | action | none | After WP dashboard widget content |
notifal/dashboard_widget/active_notifications | filter | array $items | Active notifications list (id, title, edit_url) |
Widget render hooks are also listed in Admin UI Extension.
Template click tracking (filter)
| Hook | Parameters | Description |
|---|
notifal/onpage/analytics/track_click_class | string $class_name | Class applied in templates for click tracking |
Template HTML processing: Templates and Rendering (notifal/onpage/template/class_placeholders/*).
What to read next
Hooks series
- Hook Reference Hub
- Hooks: Lifecycle and Bootstrap
- Hooks: Notifications and Eligibility
- Hooks: Templates and Rendering
- Hooks: Tags and Dynamic Data
- Hooks: Display Rules and Content Source
- Hooks: Analytics and Tracking (you are here)
- Hooks: Admin UI Extension
- Hooks: Pro Integration Bridge