---
title: CallRail Static Tracking Numbers — Location & Campaign Setup
type: article
created: '2026-04-05'
updated: '2026-04-05'
source_docs:
- raw/2025-12-12-internal-adava-care-callrail-setup-108448388.md
tags:
- callrail
- call-tracking
- attribution
- marketing-ops
- wordpress
- elementor
- google-ads
layer: 2
client_source: null
industry_context: null
transferable: true
---

# CallRail Static Tracking Numbers — Location & Campaign Setup

Static CallRail numbers are a core component of a hybrid call-tracking strategy. Unlike a [[knowledge/call-tracking/callrail-dni-pool|Dynamic Number Insertion (DNI) pool]] — which swaps a single number dynamically per visitor — static numbers are fixed, permanent tracking numbers assigned to a specific source: a location page, a Google Ads call extension, a print ad, or any offline channel.

## When to Use a Static Number

Use a static CallRail number when:

- A specific **location** has its own phone number displayed on the website
- You need to track calls from a **specific offline campaign** (billboard, direct mail, print ad)
- You want a dedicated number for **Google Ads call extensions or call-only ads**
- You need to track a channel where DNI pool swapping is not possible

> **Key distinction:** Static numbers capture source-level attribution (e.g., "came from the Glendale location page" or "came from a print ad"), but do not capture granular session data like keywords. For keyword-level attribution, use a DNI pool on the main website number.

## Creating a Static Number in CallRail

1. In CallRail, navigate to **Numbers → Create a Number**
2. Select the **single number** option (not the pool/visitor option)
3. Choose a number type:
   - **Local to the destination number** — pick a number geographically close to the forwarding destination (recommended for location pages; helps callers recognize the area code)
   - **Area code only** — broader match
4. Select a number from the results and give it a clear, descriptive name (e.g., `Glendale`, `Glendale Google Ads`, `Direct Mail Spring 2026`)
5. Proceed to **Number Routing**

## Configuring Number Routing

- Set the forwarding destination to the **location's original phone number** (e.g., the RingCentral number for that office)
- Enable **Inbound Call Recording**
- **Whisper Message:** Leave this **disabled** initially. The whisper message announces the call source to the recipient (e.g., "Inbound call from Glendale") before connecting. This is useful once staff are trained, but causes confusion on first rollout.
- Activate the tracking number

> **Evidence:** During the Adava Care setup, the Glendale static number was configured to forward to `262-247-7101` (the location's original number) with whisper disabled to avoid staff confusion.

## Updating the Website (Elementor)

After creating the static number, every instance of the old phone number on the relevant pages must be manually replaced. This is not automatic — static numbers do not use JavaScript swapping.

**For each location page:**

1. Open the page in **Elementor** (Edit with Elementor)
2. Find every instance of the old number — this typically includes:
   - The visible phone number text in the location card or hero section
   - The `tel:` href link behind the number (used for tap-to-call on mobile)
   - Any additional appearances in the page body (e.g., near the address)
3. Replace both the **display text** and the **`tel:` link** with the new CallRail number
4. Check the **footer** — if the location number appears there, update it as well
5. Publish the page

> **Important:** Update *all* instances. Missing the `tel:` link means mobile users who tap the number will still call the old, untracked number.

## Clearing Cache After Updates

After publishing changes, clear both caches before verifying:

1. In the WordPress admin bar, click **WP Engine → Caching → Clear All**
2. In the WordPress admin bar, click **WP Rocket → Clear Cache**

To verify the new number is live, use an **incognito window** to bypass your local browser cache. If you check in a normal window immediately after editing, you may see the cached old number and incorrectly conclude the update failed.

## One Static Number Per Source

For granular campaign tracking, create a **dedicated static number for each distinct source**:

| Source | Example Number Name |
|---|---|
| Glendale location page | `Glendale` |
| Google Ads call extension (Glendale) | `Glendale Google Ads` |
| Spring direct mail campaign | `Direct Mail Spring 2026` |
| Billboard on Highway 45 | `Billboard Hwy 45` |

This allows CallRail's activity dashboard to show exactly which channel each call came from.

## Naming Conventions

- Keep names short and descriptive
- Include the location name and channel if the number is campaign-specific
- Avoid overly generic names like "Website" when a more specific label is available
- Names are visible in the CallRail activity log and analytics dashboard

## Cost Considerations

CallRail accounts typically include **10 numbers** in the base plan. Each additional number beyond that incurs an incremental monthly cost. For clients with many locations and campaigns, plan the number inventory before provisioning to avoid unexpected charges.

## Limitations vs. DNI Pool

| Capability | Static Number | DNI Pool |
|---|---|---|
| Source attribution | ✅ Yes | ✅ Yes |
| Keyword-level attribution | ❌ No | ✅ Yes |
| Google Click ID capture | ❌ No | ✅ Yes |
| Works on offline media | ✅ Yes | ❌ No |
| Works as call extension | ✅ Yes | ❌ No |
| Requires website edits | ✅ Yes (manual) | ❌ No (JS swap) |

## Related Articles

- [[knowledge/call-tracking/callrail-dni-pool|CallRail DNI Pool — Dynamic Number Insertion Setup]]
- [[knowledge/call-tracking/callrail-wordpress-plugin-setup|CallRail WordPress Plugin Setup]]
- [[knowledge/call-tracking/callrail-cache-clearing-process|Cache Clearing After CallRail Number Updates]]
- [[knowledge/call-tracking/callrail-hubspot-webhook|Pushing CallRail Recordings to HubSpot via Webhook]]
- [[clients/adava-care/_index|Adava Care — Client Overview]]