> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.supersend.io/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Inbox Reply Link Tracking

# Inbox Reply Link Tracking

## Purpose

Inbox Reply Link Tracking wraps URLs in your **Super Inbox outbound email replies** with trackable redirect links. When a recipient clicks a link you sent, SuperSend records the click so your team can see engagement on application pages, booking links, and other destinations.

**Phase 2** (current) adds:

- **Campaign rollup** — clicks on inbox reply links attributed to a campaign now appear in the Campaign Dashboard as **Reply Link Clicks**, distinct from sequence-step link clicks.
- **UTM attribution** — SuperSend appends configurable UTM parameters to the destination URL at redirect time, so your analytics tools (Google Analytics, Mixpanel, HubSpot, Salesforce) automatically attribute site visits back to the originating campaign and reply.

Use this when you need attribution on **manual inbox replies** (not just campaign sequence emails).

## Prerequisites

- Access to Super Inbox
- Organization admin access (to set the org default)
- Team admin permissions (to configure team inbox settings)

## How It Works

1. You send an email reply from Super Inbox (HTML or plain text).
2. If link tracking is enabled, SuperSend rewrites **http(s) URLs** in the message body before send.
3. The recipient clicks a wrapped link. SuperSend records the click and, if UTM attribution is enabled, appends UTM parameters to the destination URL before redirecting.
4. SuperSend records the click with conversation, message, contact, sender, and campaign context.
5. If the link is attributed to a campaign:
   - `Campaign.reply_link_clicks` is incremented (deduplicated per contact per day).
   - `Event.reply_link_clicks` on the originating sequence step is incremented.
   - `Contact.reply_link_clicked` is set to true.
   - A `reply_link_click` campaign-scoped webhook is emitted.
6. Clicks appear in the conversation thread, contact activity sidebar, team **Link Activity** total, and Campaign Dashboard.

**Tracked:** Links in `<a href="...">` tags and bare `https://` / `http://` URLs in the message body.

**Not tracked:** `mailto:`, `tel:`, `javascript:`, `data:`, and `#` anchor links.

**Deduplication:** Campaign counters are incremented at most once per (contact, link, UTC calendar day) to filter out prefetcher/security scanner noise.

---

## Enable Link Tracking

### Organization default (org admins)

1. Go to **Organization** → **Admin** → **System** tab.
2. Under **Inbox Reply Link Tracking**, toggle **Track links in inbox replies**.
3. This is the default for all teams unless a team overrides it.

### Team override (team admins)

1. Open **Super Inbox**.
2. Click the **Settings** icon (⚙️) in the sidebar.
3. Open the **Link Tracking** tab.
4. Toggle **Track links in inbox replies** to force on or off for this team.
5. Click **Save** at the bottom.
6. Use **Reset to organization default** to clear a team override.

---

## UTM Attribution

### What it does

When UTM attribution is enabled, SuperSend appends UTM parameters to the destination URL at redirect time. For example:

```
https://your-site.com/pricing
  → https://your-site.com/pricing?utm_source=supersend&utm_medium=inbox_reply&utm_campaign=q3-outreach&utm_content=founder%40acme.com&utm_term=step_2
```

This allows Google Analytics, Mixpanel, HubSpot, and other tools to attribute the site visit back to the originating SuperSend campaign and reply.

### Enable UTM attribution

When enabled, SuperSend automatically appends analytics tags to the destination URL when someone clicks a tracked link. **You do not type anything in the template box for this to work** — leave it empty to use the default below.

**Default template (applied automatically when the custom field is empty):**

```
utm_source=supersend&utm_medium=inbox_reply&utm_campaign={{campaign_slug}}&utm_content={{sender_email}}&utm_term=step_{{sequence_step}}
```

Only fill in a custom template if your analytics team (Google Analytics, HubSpot, etc.) requires specific parameter names.

**Org level (default for all teams):**

1. Go to **Admin** → **System** → **Inbox Reply Link Tracking** → **UTM Attribution**.
2. Toggle **Append UTM parameters to tracked links**.
3. Optionally customize the UTM template.

**Team level (override):**

1. Open **Super Inbox** → **Settings** → **Link Tracking** → **UTM Attribution**.
2. Toggle on to override the org default for this team.
3. Optionally enter a custom UTM template (leave blank to inherit from org).

### Default UTM template

```
utm_source=supersend&utm_medium=inbox_reply&utm_campaign={{campaign_slug}}&utm_content={{sender_email}}&utm_term=step_{{sequence_step}}
```

### Available tokens

| Token                         | Description                                  |
| ----------------------------- | -------------------------------------------- |
| `{{campaign_id}}`             | Campaign UUID                                |
| `{{campaign_slug}}`           | Slugified campaign name (lowercase, hyphens) |
| `{{campaign_name}}`           | Full campaign name                           |
| `{{sender_id}}`               | Sender UUID                                  |
| `{{sender_email}}`            | Sender email address                         |
| `{{contact_id}}`              | Contact UUID                                 |
| `{{contact_email}}`           | Contact email address                        |
| `{{conversation_id}}`         | Super Inbox conversation UUID                |
| `{{conversation_message_id}}` | Conversation message UUID                    |
| `{{sequence_step}}`           | Originating campaign sequence step number    |

### Merge rules

- If the destination URL already has `utm_source`, **all UTM injection is skipped** (respects customer-authored tracking on individual links).
- Existing query parameters are preserved — UTMs are merged, never clobber existing params.
- URL fragments (`#section`) are preserved after the UTMs.
- Append `?ss_no_utm=1` to any specific URL to opt that link out of UTM injection (useful for webhook endpoints, signed URLs, etc.).

---

## Campaign Dashboard

When a campaign has inbox reply link clicks, the **Campaign Performance** section shows a **Reply Link Clicks** stat card. This count is separate from sequence-step click counts.

The per-contact campaign event timeline also reflects reply link clicks.

---

## View Link Clicks

### In a conversation thread

Outbound messages that received link clicks show a **Link clicked** indicator on the message.

### Contact sidebar

Open a conversation and view the contact sidebar **Recent Activity** section. Inbox link clicks appear alongside campaign events.

### Team Link Activity

Super Inbox sidebar shows a **Link Activity** section with the total number of tracked link clicks across team conversations.

### V2 API

Use `GET /v2/campaigns/:id/inbox-link-clicks` to retrieve paginated click records with contact, sender, UTM-applied URL, and sequence step.

See [Campaign API documentation](https://docs.supersend.io/docs/campaign#inbox-link-clicks) for request parameters and response fields.

---

## Settings Reference

| Setting               | Where                                                    | Description                                                  |
| --------------------- | -------------------------------------------------------- | ------------------------------------------------------------ |
| Org default           | Admin → System                                           | Default tracking on/off for all teams                        |
| Team override         | Super Inbox → Settings → Link Tracking                   | `null` = use org default; `true` / `false` = force for team  |
| Org UTM default       | Admin → System → UTM Attribution                         | Default UTM on/off + template for all teams                  |
| Team UTM override     | Super Inbox → Settings → Link Tracking → UTM Attribution | Team UTM on/off + template override                          |
| Tracking domain       | Team / campaign tracking domain                          | Wrapped links use the team **default track domain** when set |

---

## Troubleshooting

**Link Tracking tab missing**

- Confirm you have team admin permissions for the team.

**Links not wrapping**

- Confirm org default or team override is **on**.
- Replies must be sent from Super Inbox email conversations.
- Only `http://` and `https://` URLs are wrapped.

**UTMs not appearing on destination URL**

- Confirm UTM attribution is enabled at org or team level.
- Check that the destination URL does not already have `utm_source` — existing UTM params prevent injection.
- Check that the URL does not contain `?ss_no_utm=1`.

**Reply Link Clicks stat not updating**

- Clicks are deduplicated per (contact, link, UTC calendar day). Multiple clicks by the same contact on the same link on the same day count as one.
- The click must have `CampaignId` set on the tracked link (contact must be in the campaign).

**No clicks showing**

- Clicks appear only after a recipient clicks a wrapped link.
- Ensure migrations have been applied in your environment (self-hosted).

---

## Related

- [Auto Reply Rules in Super Inbox](https://help.supersend.io/en/article/auto-reply-rules-in-super-inbox-jp9s4g/) — Auto-replies use the same reply editor; link tracking applies when enabled.
- [Super Inbox Overview](https://help.supersend.io/en/article/super-inbox-overview-bm8u0u/)
- [Campaign API: Inbox Link Clicks](https://docs.supersend.io/docs/campaign#inbox-link-clicks)
