Measure resonance, not just reach

EngageMuse Insights

EngageMuse Insights is a WordPress plugin that uses AI to analyze each post and build a profile of its ideal reader, based on the dimensions you choose.

Clarify your audience. Tighten your messaging. Inform your strategy.

EngageMuse Insights logo

Description

Ship smarter posts with a light touch. EngageMuse is a simple way to see who your post will truly speak to before you hit publish.

What you can do

  • Analyze a single post while editing, even while unsaved.
  • Analyze a small batch of posts, with any status, from a clean table view.
  • Use smart defaults or type your own Audience Dimensions.
  • Optionally add schema.org and JSON to the page head.
  • Run on the Free plan, or connect your own model: OpenAI or Google Gemini.

How it works

  1. Choose your Audience Dimensions (up to 8).
  2. Click Analyze.
  3. Review the Audience Profile and adjust headlines, tone, or CTAs.

Why it matters

  • Aim content at the right readers before you publish.
  • Replace hunches with quick, shareable evidence.
  • Reduce wasted impressions by avoiding tone-deaf placements, e.g., exuberant CTAs on somber stories.

This plugin is currently in a public beta. Please report feedback or bugs to dev@engagemuse.com.

Frequently Asked Questions

Answers straight from the plugin documentation.

What does "Analyze" do?

It generates an Audience Profile for each post: up to eight Audience Dimensions (e.g., Emotional State, Core Values & Beliefs, Decision-Making Style), each yielding plain-language Descriptors. If there isn't a clear signal, the dimension is marked indeterminate.

What's the point of "indeterminate"?

It's a signal of absence, not a failure. Indeterminate means the reader dimension isn't clearly expressed in the post. Use it as a prompt to revise, add details, cues, or examples, so that dimension becomes legible and can surface as a clear Descriptor next time.

Do I need an account to use EngageMuse Insights?

No. You can use the free, anonymous version with limited usage. For higher volume and model choice, connect your own OpenAI or Google Gemini API key and analyze content using your provider account.

What data is sent to third-party models?

Only the post's title and body text you choose to analyze. We don't send site settings, user data, comments, or analytics. Optional exports (schema.org/JSON) are generated locally and aren't shared with model providers.

Are hooks available?

Yes. EngageMuse Insights includes developer actions and filters for customizing analysis, configs, exports, and CSV outputs. See the developer docs below for the full reference.

Developer hooks

Use EngageMuse actions and filters to tailor analysis, exports, and prompts. Each callback mirrors the WordPress hook signature from the plugin README.

add_filter( 'engagemuse_get_configs', function $callback );
Filters the configs (settings) read from database, before applying in queries and functions.
$configs (array): the configs read from database
add_action( 'engagemuse_cleared_profile', function $callback );
Fires when profile data is cleared from a post.
$post_id (int): the ID of the affected post
add_filter( 'engagemuse_generated_json', function $callback );
Filters the JSON emitted in the HTML document header.
$encoded_json (string): The generated JSON
$post_id (int): The ID of the current post
add_filter( 'engagemuse_constructed_prompt', function $callback );
Filters the prompt prepared for the LLM. Not available with the Free plan (filter has no effect).
$request_body (string): The JSON-encoded prompt
$post_id (int): ID of the post being analyzed (may be 0)
add_filter( 'engagemuse_received_output', function $callback );
Filters the 'output' portion of the response received from LLM.
$outputs (array): The 'output' portion of the received response
$post_id (int): ID of the post being analyzed (may be 0)
add_filter( 'engagemuse_csv_headers', function $callback );
Filters the column headers for the exported CSV file.
$headers (array): The column header names
add_filter( 'engagemuse_csv_with_profile', function $callback );
Filters the column headers for the exported CSV file, when profile data exists.
$rowvalues (array): The column values for each row. Should correspond to the CSV headers.
add_filter( 'engagemuse_csv_without_profile', function $callback );
Filters the column headers for the exported CSV file, when profile data does not exist.
$rowvalues (array): The column values for each row. Should correspond to the CSV headers.

Copyright ©2025 Bushnell WebWorks. Terms of Use