Skip to main content
< All Topics
Print

Campaign Attribution

Knowledge Base β€Ί Data, Analytics & Attribution
πŸ“Š Data, Analytics & Attribution

Campaign Attribution &
SMS Conversion Tracking:
Connecting SmartLinks to Your Reporting Stack

The TextingOnly opt-in is a conversion event β€” not a click. Connecting it to your upstream campaign sources (Google, Meta, paid search, organic) requires a different setup than standard web tracking. This article explains what’s possible, what best practices apply, and where the complexity lives.

Attribution Conversion Tracking UTM Parameters Google Tag Manager
The Core ConceptA SmartLink click is not the conversion. The opt-in send event is the conversion β€” the moment the contact taps Send and their verified phone number enters TextingOnly. That’s what you’re attributing back to the campaign.
The Gap vs Click-to-CallGoogle tracks click-to-call: did they click? That’s the gap. With TextingOnly, the conversion event is the opt-in β€” a verified, structured data record, not just a click signal. Richer data, different setup.
Not Plug-and-PlayAttribution setup is case-by-case. This article covers best practices and the general framework. The specific implementation depends on your analytics stack, campaign platform, and reporting goals.

This article is intentionally framework-focused, not step-by-step. SMS-to-campaign attribution has meaningful setup complexity that varies by platform (Google vs Meta vs multi-channel), analytics stack (GA4, GTM, HubSpot, Salesforce), and use case. The concepts here apply universally β€” the specific implementation requires configuration by someone familiar with your stack.

⚠️ Not plug-and-play

SMS conversion attribution is not a native one-click integration. It requires intentional setup β€” UTM parameters on the page hosting the SmartLink, consistent SmartLink naming conventions, and in some cases Google Tag Manager or custom conversion event configuration. The complexity is worth it, but go in with accurate expectations.


Defining the Conversion Event

Before configuring anything, define what you’re calling a conversion. In TextingOnly, there are three meaningful events β€” and which one you track depends on your goal:

1️⃣
SmartLink Click / QR Scan

The contact tapped the link or scanned the QR code. The SMS app opened. This is tracked by TextingOnly as a click or scan event. It’s analogous to a landing page visit β€” intent, but not conversion.

2️⃣
SMS Opt-In Send

The contact tapped Send β€” their verified phone number entered TextingOnly. This is the true conversion event: a new, identified, consented contact in your database. This is what you want to attribute back to campaigns.

3️⃣
OTTO Qualification Complete

The contact completed the full OTTO flow β€” received the Final Message, triggered the email lead alert. This is a qualified lead conversion β€” higher value, lower volume than the opt-in event.

For most attribution purposes, the opt-in send event (Event 2) is the right conversion to track β€” it’s the moment a real, verified contact enters your system. Qualification completion is valuable but harder to pass back to ad platforms in real time.


The UTM Best Practice Approach

The most practical approach for connecting TextingOnly opt-ins to campaign sources uses UTM parameters on the page that hosts the SmartLink β€” not on the SmartLink URL itself.

How it works

1
A paid campaign (Google, Meta, etc.) runs with a UTM-tagged destination URL
Example: yoursite.com/hvac-service?utm_source=google&utm_medium=cpc&utm_campaign=hvac-baltimore-spring-2026
2
The destination page contains a SmartLink button
The SmartLink button on that page connects to a TextingOnly collector. The SmartLink name in TextingOnly should match the campaign name for human-readable attribution.
3
Contact arrives on the page via the paid campaign (UTM captured by GA4)
GA4 logs the session with campaign source, medium, and name from the UTM parameters
4
Contact taps the SmartLink β€” opt-in occurs in TextingOnly
The opt-in is logged in TextingOnly with the collector name (entry point). The contact’s campaign source is inferred from the UTM session that preceded the click.
βœ“
Match TextingOnly opt-ins to GA4 sessions by timestamp + campaign
The opt-in timestamp in TextingOnly + the UTM session timestamp in GA4 create a matchable attribution window. SmartLink name = campaign name makes this human-readable without complex ID matching.
πŸ“Œ SmartLink naming convention

Name your TextingOnly collectors and SmartLinks to match the campaign name running in your ad platform. If the Google campaign is “HVAC-Baltimore-Spring-2026,” name the collector the same. When you review TextingOnly entry point data alongside GA4 campaign data, the match is immediate β€” no ID lookup required.


GCLID and Advanced Google Attribution

Google’s click identifier (GCLID) is appended automatically to landing page URLs when a contact clicks a Google Ads link. For more precise attribution, GCLID can be captured on the landing page and used to connect the Google Ads click to the TextingOnly opt-in event.

This requires JavaScript on the landing page to read the GCLID from the URL parameter and either store it in a cookie or pass it to a conversion event when the SmartLink is tapped. If using Google Tag Manager, this can be configured as a trigger on the SmartLink click event β€” firing a conversion back to Google Ads that represents the opt-in.

⚠️ This requires developer or GTM expertise

GCLID capture and conversion event firing via GTM is not a TextingOnly platform feature β€” it’s a configuration on your website and Google Ads account. This setup should be implemented by someone with Google Tag Manager and Google Ads conversion tracking experience. TextingOnly provides the opt-in event data; connecting it to GCLID is a web analytics implementation task.


Appending UTM Parameters to Outbound Links

TextingOnly has a built-in feature to append UTM parameters to any links included in outbound campaign messages. This is configured in the SMS Campaign settings under “Append Parameters to Outbound Links.”

When enabled, any URL in the outbound campaign message gets UTM parameters appended automatically β€” so clicks from SMS campaign links are trackable in GA4 as an SMS source, separate from organic or paid traffic. See Appending UTM Parameters to Outbound Links for the specific setup steps.


The Click-to-Call Analogy β€” and Where SMS Is Different

Google tracks click-to-call: a contact sees your ad, clicks the phone number, and Google logs a call click. The gap: did they actually reach someone? Did they become a lead? The click-to-call gap β€” clicks vs actual calls vs answered calls β€” is well known.

SMS conversion tracking has a similar gap but with a better floor. When a contact taps a SmartLink:

Click-to-Call
Click-to-Text (TextingOnly)
Google logs: click occurred
TextingOnly logs: opt-in send event β€” verified phone captured
No data if call goes unanswered
Contact record created even if OTTO conversation is partial
No structured data from the conversation
Every OTTO answer stored as structured contact fields
Attribution: click β†’ unknown outcome
Attribution: click β†’ opt-in β†’ partial or complete qualification
Search Icon Site Search Close Site Search
0 results
Text Auto Attendant->