Skip to content
Why Franchise with Us
Ideal Candidate
Massage and Spa Industry
Franchise Training & Support
Franchisee Testimonials
Investment
Multi-Unit Ownership
Veteran Franchise Opportunities
Available Markets
Steps to Ownership
About Us
News & Blog
FAQ
Download Brochure
Menu
Why Franchise with Us
Ideal Candidate
Massage and Spa Industry
Franchise Training & Support
Franchisee Testimonials
Investment
Multi-Unit Ownership
Veteran Franchise Opportunities
Available Markets
Steps to Ownership
About Us
News & Blog
FAQ
Download Brochure
Get Franchise Info
Menu
Why Franchise with Us
Ideal Candidate
Massage and Spa Industry
Franchise Training & Support
Franchisee Testimonials
Investment
Multi-Unit Ownership
Veteran Franchise Opportunities
Available Markets
Steps to Ownership
About Us
News & Blog
FAQ
Download Brochure
Hand & Stone Real Estate Support Video
September 4, 2024
Prev
Previous
Hand & Stone Spa Service Technology Video
Next
Hand & Stone Customer and Franchisee Experience Video
Next
var params = new URLSearchParams(window.location.search); const sources = new Map([ ['consumer', 'Consumer Site Referral'], ['welcome', 'Welcome Drip'], ['organiclinkedin', 'Organic LinkedIn Posts'], ['multiunitmag', 'Multi Unit Mag'], ['franchisingcom', 'Franchising.com'], ['email', 'One-Off Mktg Emails'], ['facebook', 'Facebook Campaigns'], ['paidlinkedin', 'Paid LinkedIn Campaigns'], ['mufc', 'MUFC'], ['linktree', 'LinkTree'], ['membernews', 'Member Newsletter'], ['bizbuysell', 'BizBuySell'], ['gcompetitor', 'Google Competitor'], ['gbrand', 'Google Brand'], ['gindustry', 'Google Industry'], ['gtargetmarket', 'Google Target Market'], ['ytindustry', 'YouTube Industry'], ['yttestimonial', 'YouTube Testimonial'], ['pmax', 'Performance Max'], ['ohiol', 'Ohio LinkedIn'], ['ohiog', 'Ohio Google'], ['blogfb', 'Facebook Blog'], ['display', 'Display'], ['wcmgoogle', 'WCM Fran Dev Google'], ['wcmmeta', 'WCM Fran Dev Meta'] ]); function UTM_Process(UTMname, CookieName, ValueName) { console.log('UTM_Process - UTMname: ' + UTMname + ', CookieName: ' + CookieName + ', ValueName: ' + ValueName); if (params.has(UTMname)) { setCookie(CookieName, params.get(UTMname), 30); UpdateFields(ValueName, params.get(UTMname)); } else { if (checkCookie(CookieName)){ UpdateFields(ValueName, getCookie(CookieName)); } else { UpdateFields(ValueName, null); } } } function UpdateFields(ogVal, nuVal) { var inputs = document.getElementsByTagName('input'); var newVal = (sources.has(nuVal)) ? sources.get(nuVal):'Organic'; console.log('UpdateFields - newVal: ' + newVal + ' (value of "Source")'); for (const input of inputs) { if (input.value == ogVal) { input.value = newVal; } } } function setCookie(cname,cvalue,cdays) { var expires = ''; if (cdays) { var date = new Date(); date.setTime(date.getTime() + (cdays*24*60*60*1000)); expires = '; expires=' + date.toUTCString(); } document.cookie = cname + '=' + (cvalue || '') + expires + '; path=/'; } function getCookie(cname) { var name = cname + '='; var ca = document.cookie.split(';'); if (ca.length === 0) { return ''; } for (var i = 0; i { console.log('Listening for form render...'); if (event.detail.formId !== 1 && event.detail.formId !== 3 && event.detail.formId !== 4) { console.log('Ready to submit without clearing Source cookie'); return; } console.log('Ready to submit AND clear Source cookie'); gform.utils.addAsyncFilter('gform/submission/pre_submission', async (data) => { console.log('Submitting AND clearing Source cookie'); setCookie('Source', '', 0); return data; }); }); UTM_Process('SRC', 'Source', 'Lead Source Detail');