<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=108825&amp;fmt=gif">
Skip to content
English
  • There are no suggestions because the search field is empty.

Build Smart Email Reply Tracking

You're sending hundreds of emails but have no clue who's actually replying. Sales reps forget to log responses, marketing can't tell which campaigns start conversations, and you're missing hot leads buried in inboxes. Reply rates are way more important than open rates, but HubSpot doesn't track them properly out of the box. You're flying blind on what actually generates engagement.

This hack outlines how to build a structured reply-tracking framework that:

  • Tracks every marketing and sales reply

  • Filters out out-of-office auto-responses

  • Scores reply engagement

  • Categorises reply intent

  • Notifies owners automatically

  • Powers reply-rate reporting dashboards

This configuration is fully supported in:

  • Marketing Hub Enterprise

  • Sales Hub Enterprise

  • (Optional) Operations Hub Professional for advanced body parsing


Before You Begin

Ensure the following are configured:

1. Connected Inbox

Navigate to:

Settings → General → Email

Confirm:

  • Gmail or Microsoft 365 inbox is connected

  • Full sync is enabled (not send-only)

2. Conversations Inbox Enabled

Navigate to:

Settings → Inbox & Routing

Ensure the Conversations Inbox is active to capture marketing email replies.

3. Automatic Email Logging Enabled

Navigate to:

Settings → Email → Log emails

Enable automatic logging of sent and received emails to the CRM.

Replies must be logged as CRM activities for workflows to trigger.


Step 1: Create Reply Tracking Properties

Navigate to:

Settings → Properties → Contact Properties

Create the following custom properties:

Core Tracking Properties

Property Name Field Type
total_email_replies Number
last_reply_date Date & time
last_reply_type Dropdown select
reply_sentiment Dropdown select
conversation_score Number

Dropdown Options

last_reply_type

  • Interest

  • Objection

  • Out of Office

  • Neutral

reply_sentiment

  • Positive

  • Neutral

  • Negative

These properties form your reply intelligence layer.


Step 2: Build the Master Reply Workflow

Navigate to:

Automation → Workflows → Create workflow

Choose:

Contact-based workflow

Workflow Name

Email Reply Detection & Scoring


Enrollment Trigger

Select:

Activity → Email reply received

This captures:

  • Marketing email replies

  • One-to-one sales replies

  • Conversations inbox replies

Enable re-enrollment if you want to track multiple replies per contact.


Step 3: Add Core Tracking Actions

Add the following actions in order:

1. Increment Reply Count

  • Action: Increase property value

  • Property: total_email_replies

  • Increment by: 1


2. Set Last Reply Date

  • Action: Set property value

  • Property: last_reply_date

  • Value: Date of step


3. Create Follow-Up Task

  • Action: Create task

  • Assign to: Contact Owner

  • Title:

     
    Hi, replied to your email
  • Priority: Medium

  • Due date: Today

This ensures replies are never missed.


Step 4: Filter Out Out-of-Office Auto Replies

Add an If/Then branch after core tracking.

Condition

Email subject contains any of:

  • "out of office"

  • "automatic reply"

  • "autoreply"

  • "away until"

  • "vacation"

  • "OOO"


If YES (Auto-Reply)

Actions:

  • Set last_reply_type = Out of Office

  • Set reply_sentiment = Neutral

  • End workflow

This prevents inflated engagement metrics.


Step 5: Score and Categorise Replies

You have two implementation options.


Option A: No-Code Scoring 

This version uses subject-line keyword matching.


Branch 1: High Intent Replies

Condition: Email subject contains:

  • "meeting"

  • "schedule"

  • "demo"

  • "call"

  • "interested"

  • "let’s talk"

Actions:

  • Increase conversation_score by 10

  • Set reply_sentiment = Positive

  • Set last_reply_type = Interest


Branch 2: Negative Replies

Condition: Subject contains:

  • "not interested"

  • "remove"

  • "unsubscribe"

  • "stop"

  • "no thanks"

Actions:

  • Decrease conversation_score by 5

  • Set reply_sentiment = Negative

  • Set last_reply_type = Objection


Default Branch (All Other Replies)

Actions:

  • Increase conversation_score by 3

  • Set reply_sentiment = Neutral

  • Set last_reply_type = Neutral

This provides lightweight engagement scoring without custom code.


Option B: Advanced Scoring (Operations Hub Pro)

If you have Operations Hub Professional, you can analyse the email body using a Custom Code action.

Add a Custom Code action with input field:

  • Email body

Example:

 
exports.main = async (event, callback) => {
const body = (event.inputFields.email_body || "").toLowerCase();

let score = 3;
let sentiment = "Neutral";
let type = "Neutral";

if (body.includes("schedule") || body.includes("demo") || body.includes("meeting")) {
score = 10;
sentiment = "Positive";
type = "Interest";
}

if (body.includes("not interested") || body.includes("remove") || body.includes("unsubscribe")) {
score = -5;
sentiment = "Negative";
type = "Objection";
}

callback({
outputFields: {
score_delta: score,
sentiment_value: sentiment,
reply_type_value: type
}
});
};

Then:

  • Add the returned score to conversation_score

  • Set reply_sentiment

  • Set last_reply_type

This produces stronger intent classification.


Step 6: Build Reply Rate Reporting

Navigate to:

Reports → Custom Report Builder

Select:

Contacts


Recommended Filters

  • Marketing email sent is known

  • Date range (e.g., Last 90 days)


Metrics to Add

  • Count of contacts

  • Count of contacts where total_email_replies > 0

Add a calculated field:

 
Reply Rate = replied contacts / total contacts

Group by:

  • Marketing email name

This shows which campaigns generate actual conversations — not just opens.


Step 7: Create an Email Reply Intelligence Dashboard

Navigate to:

Reports → Dashboards → Create dashboard

Recommended reports:

  1. Reply rate by campaign

  2. Total replies over time

  3. Reply sentiment breakdown

  4. Conversation score distribution

  5. Top contacts by conversation_score

  6. Reply-to-meeting conversion

This transforms replies from inbox noise into measurable engagement data.


Important Considerations

Autoresponder Volume

Expect high OOO volume during holidays. Review keyword filters periodically.

Thread Counting

Each reply in a thread counts separately. If you prefer unique conversation tracking, adjust enrollment rules.

Gmail vs Outlook

Gmail threading is generally more consistent than Outlook. Test reply logging before rollout.

Sales & Marketing Alignment

Define ownership rules:

  • Should marketing replies go to SDRs?

  • Should sales replies stay with account owners?

Configure workflow routing accordingly.


Outcome

After implementation, you will have:

  • Automated reply tracking

  • Structured reply classification

  • Engagement scoring

  • Clean campaign-level reply reporting

  • Owner alerts for every response

This enables optimisation based on conversations started, not just email opens.

 

Becky Brown bio