Friday, June 20, 2008

The Backend Mechanics of SMS Mobile Marketing

The Short Message Service (SMS) is a network protocol for sending short, usually text messages to wireless devices . Sarah Perez (see Perez on Mobile Mktg),says that SMS is a growing trend in m-commerce. SMS has many features that support m-commerce, which include (see Adobe on SMS)

1. Built-in Authentication
2. Secure Communications
3. Interactive Communications
4. Mobile devices already include the client

Cell phone carriers, such as Sprint or Nextel, provide SMS gateways for the transfer of text messages from computer to mobile phone. These gateways are the foundation of the mechanics for an organization, be it an aggregator mobile marketing service or a commercial business entity, to implement a mobile marketing campaign. As mBlox notes (2006, p 6, see mBlox on SMS), there are over “a dozen US-based carriers to serve all their customers. As such, SMS connectivity provided by any single carrier would be incomplete.”

The solution is to determine the carriers that service the customer publics targeted by the campaign. Their SMS gateways are published and provide the hook for a database driven campaign to reach the customer. For example, Wikipedia has a list of mobile phone SMS gateways by carrier (see SMS Gateways in Wikipedia).

Duncan (2005, p 392), says an important aspect of mobile marketing is that “messages can be targeted not only by individual cellular phone number but also by time and location of targeted customers.” Having a relevant customer database is critical, so that demographic and psychographic characteristics can be used to customize message content and to insure that only customers interested in the message are included in the distribution.

An example data retrieval from a customer database using the ColdFusion language common for Web projects is:

(cfquery name="gmrMobile" datasource="heat")
LastName, FirstName, CarrierGateway, Phone, Demographic1, DemographicN, Psychographic1, PsychographicN

FROM dbo.Customer

dbo.Customer.SelectCharacterisitic = #CampaignCharacterisitic# and dbo.CustomerOptIn = ‘YES’

To send the message from our computer based application to the customer cell phone, we need to combine the cell phone number and carrier to form the correct gateway address. The process using our results above is:

(cfset gmrgateway=" #gmrMobile.Phone#" + “@” + #gmrMobile.CarrierGateway#)

For example,

Assuming my phone number is 800-555-1212 and my carrier is Sprint, the Sprint SMS gateway is according to Wikipedia. So my email from the computer would be sent to the gateway

which in turn forwards it to the SMS client on my cell phone.

A function would be called for each customer record returned from our database call in a loop. The function call looks like:

(cfinvoke component="Your.Component.Name" returnvariable="SendMailSimpleRet" method="SendMailSimple")
(cfinvokeargument name="strTo" value=" #gmrGateway# ")
(cfinvokeargument name="strFrom" value="Your_Name@Your.Company ")
(cfinvokeargument name="strSubject" value="Your Mobile Topic")
(cfinvokeargument name="strBody" value="Your Mobile Message")

The “your mobile message” in red would be formulated based on the customer demo and psychographics.

The code for the SendMailSimple function above that sends the mail to the SMS gateway is
(cffunction name="SendMailSimple" hint="Send Mail Simple" displayname="SendMailSimple" returntype="string" output="true" access="remote")
(cfargument name="strTo" default="" required="true")
(cfargument name="strFrom" default="" required="true")
(cfargument name="strSubject" default="" required="true")
(cfargument name="strBody" default="" required="true")

(cfmail from="#ARGUMENTS.strFrom#" to="#ARGUMENTS.strTo#" subject="#ARGUMENTS.strSubject#")


Duncan, Tom (2005). Principles of Advertising and IMC. New York: McGraw-Hill Irwin.


Heidi M said...

George--you are amazing for researching all of this out! Kudos to you!


George said...

Thanks Heidi, if you get a chance try the sms sender. I can send you the code if you like it.