benecaster_analytics_feed_engagement
Filters the feed engagement counts for GET benecaster-analytics/v1/analytics/feed-engagement: how recently each tier’s active subscribers last polled their feed, as of now. There is no date range. Each active token is in exactly one bucket, on the same bands and edges as the Subscribers screen, at each show’s own engagement threshold T: active (within T, labelled Active), at_risk (T to 2T, labelled Low), lapsed (beyond 2T, labelled At risk), never (Never set up) and awaiting (never polled, still inside the grace period). active_7d counts the tokens that polled in the last 7 days.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
$data |
array |
— | The counts the route answers |
$args |
array |
— | The query: show_ids (only shows where the add-on is active), tier_slug |
Returns:
array
Example
add_filter( 'benecaster_analytics_feed_engagement', function ( array $data, array $args ): array {
foreach ( $data['tiers'] as &$tier ) {
$tier['active_7d_pct'] = $tier['total'] > 0 ? round( $tier['active_7d'] * 100 / $tier['total'], 1 ) : null;
}
return $data;
}, 10, 2 );
Notes
Anything that is not an array is ignored and the unfiltered data is used. Guard with benecaster_addon_is_active( 'analytics-dashboard', $show_id ) for each show you act on. The keys are not the screen's labels: at_risk is the band labelled Low, and lapsed the band labelled At risk. Walkthrough: Read the Analytics Dashboard feed engagement buckets.
Need this built rather than just documented? See our services →