-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Description
Add a new "Analytics" submenu page under Mailchimp with page, CSS, JS scaffolding, date range selector (presets + custom date selection), list filter dropdown, and a deep link to Mailchimp analytics.
Technical Context:
- Admin menus registered in
Mailchimp_Admin::add_admin_menu_pages(). - Existing settings page is
mailchimp_sf_optionsviaadd_menu_page() - Templates are in
includes/admin/templates - Available lists are in
mailchimp_sf_listsoption, currently selected list inmc_list_id.
Implementation Breakdown
1. Admin Page Registration
- Create
includes/class-mailchimp-analytics.phpwithinit(),register_admin_page(),render_page(),enqueue_scripts()methods - Register submenu via
add_submenu_page()undermailchimp_sf_optionswith slugmailchimp_sf_analytics, capabilitymanage_options - Only register page if Mailchimp account is connected.
- Create template
includes/admin/templates/analytics.phpwith page header matching existing Mailchimp admin header pattern
2. Date Range Selector
- Preset dropdown: Last 7 days, Last 30 days (default), Last 90 days, Last 6 months, Last year, Custom
- "Custom" reveals from/to date pickers.
- Display resolved date range text (e.g., "Jan 1, 2026 - Jan 30, 2026")
3. List Filter Dropdown
- Populated from
mailchimp_sf_listsoption, defaults tomc_list_id - Changing triggers data refresh for all sections.
4. Deep Link & Styling
- Add "View detailed analytics in Mailchimp" link to
https://DATA_CENTER.admin.mailchimp.com/analytics/audience-analytics/(opens in new tab) - Create
assets/css/analytics.css - Create
assets/js/analytics.js - Enqueue Chart.js + analytics assets only on analytics page.
Acceptance Criteria
- "Analytics" and "Form Settings" appear as submenu items under Mailchimp
- The “Analytics” page will only be added if a Mailchimp account is connected.
- Date range dropdown works with presets and custom calendar picker
- List filter shows all connected lists and defaults correctly
- Changing filters triggers section refresh
- Deep link opens Mailchimp dashboard in new tab with
rel="noopener noreferrer" - Assets are only loaded on the analytics page
- Page requires
manage_optionscapability
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels