Channel Attribution

Channel Level tracking is best used in situations where you are interested in attributing a phone call to a specific lead source or channel.

Marketers typically choose this implementation when they are trying to measure which channels are most effective at driving phone calls (ex. Google vs. Bing). This DNI implementation method ensures 100% attribution because the tracking number is only ever shown to consumers when they meet your pre-defined criteria.

For example, a tracking number can be provisioned to measure all calls/texts that result from users visiting your website from an organic Google search. Because the tracking number is only ever shown when a user arrives from an organic Google listing, you can be certain that any calls to that number came as a result of that rule.

Using Marketing Edge JavaScript snippet, a tracking phone number is dynamically inserted each time a visitor clicks through to the landing page from the channel you are measuring (ex. Google/Bing). The moment the visitor calls the number, the response is attributed to the channel the tracking number was configured to monitor.

When planning to deploy DNI to gain Channel attribution insights, you will need to consider the following

  • Creating Number Replacement Rules
  • Deploying DNI to your Website

1. Configuring a Tracking Number for DNI

Any new or existing Number can be configured to track a channel. For additional details on how to provision or update a Tracking number, please reference the Creating a Tracking Number portion of this documentation.

To specify the conditions when Number Replacement should take place, you will need to populate the 'replacement_configuration' portion of your create/update Tracking Number request:

  • Numbers to Replace - Numbers on the page that will be replaced. Supply an array of 10 character numbers to replace. The Marketing Edge JavaScript snippet will ensure that the formatting on the website is retained when performing replacement, and is capable of handling alphanumeric phone numbers (example: 800 555-CARS)
  • Tracking Sources - Defines the source that a website visitor must arrive from in order for number replacement to occur (Example: Any/Bing/Google). For additional detail, refer to the Number Replacement Rules section of this documentation
  • URL Triggers - A URL parameter that must be present in order for number replacement to occur (Example: gclid=%, utm_campaign=wintertires) This field is optional.
curl  -H "x-organization-token: {authentication_token}" \
      -H "subscription-key: {subscription_key}" \
      -H "Content-Type: application/json" \
      -X POST \
      -d '{
    "name": "ABC Company",
    "phone_number_request": {
        "match_type": "localtonumber",
        "local_to_number": "9056372046",
        "number_match_filter": "289"
    },
    "replacement_configuration": {
        "numbers_to_replace": [
            "905219CARS",
            "4045553434"
        ],
        "tracking_sources": [
            {
                "referrer_domain": "google",
                "url_triggers": [
                    "gclid=%"
                ]
            }
        ]
    },
    "call_routes": {
        "route_type": "Basic",
        "route": {
            "termination_number": "4165551234"
        }
    }
}'  https://edgeapi.marchex.io/marketingedge/v5/api/groups/{group_id}/numbers

Please refer to the Tracking Number section of the documentation for additional details on how to configure your Number for:

  • Local/Toll Free Number Assignment
  • Call Features
  • SMS Routing Capabilities

2. Using Global DNI Tags

By default your Number Group will be assigned a unique tracking JavaScript snippet. To leverage Global DNI Tags pass the global_snippet_id in your Create/Update requests.

Sample Request:

curl  -H "x-organization-token: {authentication_token}" \
      -H "subscription-key: {subscription_key}" \
      -H "Content-Type: application/json" \
      -X POST \
      -d '{
    "name": "ABC Company",
    "phone_number_request": {
        "match_type": "localtonumber",
        "local_to_number": "9056372046",
        "number_match_filter": "289"
    },
    "global_snippet_id": "22E8A3C0-5156-4713-AF06-08D897C2DC56",
    "replacement_configuration": {
        "numbers_to_replace": [
            "905219CARS",
            "4045553434"
        ],
        "tracking_sources": [
            {
                "referrer_domain": "google",
                "url_triggers": [
                    "gclid=%"
                ]
            }
        ]
    },
    "call_routes": {
        "route_type": "Basic",
        "route": {
            "termination_number": "4165551234"
        }
    }
}'  https://edgeapi.marchex.io/marketingedge/v5/api/groups/{group_id}/numbers

3. Deploying DNI to your Website

For number replacement to occur on your website, the Marketing Edge JavaScript snippet will need to be inserted between the <head> and </head> tag of each webpage where you want DNI to take place.

<html>
...
  <head>
    <script type="text/javascript" src="//web-2-tel.com/sdk?identifier=74b9dd6edf58406da055887dcd4b2113" async></script>
  </head>
 ...
 </html>

For additional details on how to retrieve and install your JavaScript, please refer to the Adding DNI to a Website portion of this documentation.