/*! * Dialogs Manager v4.9.3 * https://github.com/kobizz/dialogs-manager * * Copyright Kobi Zaltzberg * Released under the MIT license * https://github.com/kobizz/dialogs-manager/blob/master/LICENSE.txt */ (function($, global) { 'use strict'; /* * Dialog Manager */ var DialogsManager = { widgetsTypes: {}, createWidgetType: function(typeName, properties, Parent) { if (!Parent) { Parent = this.Widget; } var WidgetType = function() { Parent.apply(this, arguments); }; var prototype = WidgetType.prototype = new Parent(typeName); prototype.types = prototype.types.concat([typeName]); $.extend(prototype, properties); prototype.constructor = WidgetType; WidgetType.extend = function(typeName, properties) { return DialogsManager.createWidgetType(typeName, properties, WidgetType); }; return WidgetType; }, addWidgetType: function(typeName, properties, Parent) { if (properties && properties.prototype instanceof this.Widget) { return this.widgetsTypes[typeName] = properties; } return this.widgetsTypes[typeName] = this.createWidgetType(typeName, properties, Parent); }, getWidgetType: function(widgetType) { return this.widgetsTypes[widgetType]; } }; /* * Dialog Manager instances constructor */ DialogsManager.Instance = function() { var self = this, elements = {}, settings = {}; var initElements = function() { elements.body = $('body'); }; var initSettings = function(options) { var defaultSettings = { classPrefix: 'dialog', effects: { show: 'fadeIn', hide: 'fadeOut' } }; $.extend(settings, defaultSettings, options); }; this.createWidget = function(widgetType, properties) { var WidgetTypeConstructor = DialogsManager.getWidgetType(widgetType), widget = new WidgetTypeConstructor(widgetType); properties = properties || {}; widget.init(self, properties); return widget; }; this.getSettings = function(property) { if (property) { return settings[property]; } return Object.create(settings); }; this.init = function(settings) { initSettings(settings); initElements(); return self; }; self.init(); }; /* * Widget types constructor */ DialogsManager.Widget = function(widgetName) { var self = this, settings = {}, events = {}, elements = {}, hideTimeOut = 0, baseClosureMethods = ['refreshPosition']; var bindEvents = function() { var windows = [elements.window]; if (elements.iframe) { windows.push(jQuery(elements.iframe[0].contentWindow)); } windows.forEach(function(window) { if (settings.hide.onEscKeyPress) { window.on('keyup', onWindowKeyUp); } if (settings.hide.onOutsideClick) { window[0].addEventListener('click', hideOnOutsideClick, true); } if (settings.hide.onOutsideContextMenu) { window[0].addEventListener('contextmenu', hideOnOutsideClick, true); } if (settings.position.autoRefresh) { window.on('resize', self.refreshPosition); } }); if (settings.hide.onClick || settings.hide.onBackgroundClick) { elements.widget.on('click', hideOnClick); } }; var callEffect = function(intent, params) { var effect = settings.effects[intent], $widget = elements.widget; if ('function' === typeof effect) { effect.apply($widget, params); } else { if ($widget[effect]) { $widget[effect].apply($widget, params); } else { throw 'Reference Error: The effect ' + effect + ' not found'; } } }; var ensureClosureMethods = function() { var closureMethodsNames = baseClosureMethods.concat(self.getClosureMethods()); $.each(closureMethodsNames, function() { var methodName = this, oldMethod = self[methodName]; self[methodName] = function() { oldMethod.apply(self, arguments); }; }); }; var fixIframePosition = function(position) { if (! position.my) { return; } var horizontalOffsetRegex = /left|right/, extraOffsetRegex = /([+-]\d+)?$/, iframeOffset = elements.iframe.offset(), iframeWindow = elements.iframe[0].contentWindow, myParts = position.my.split(' '), fixedParts = []; if (myParts.length === 1) { if (horizontalOffsetRegex.test(myParts[0])) { myParts.push('center'); } else { myParts.unshift('center'); } } myParts.forEach(function(part, index) { var fixedPart = part.replace(extraOffsetRegex, function(partOffset) { partOffset = +partOffset || 0; if (! index) { partOffset += iframeOffset.left - iframeWindow.scrollX; } else { partOffset += iframeOffset.top - iframeWindow.scrollY; } if (partOffset >= 0) { partOffset = '+' + partOffset; } return partOffset; }); fixedParts.push(fixedPart); }); position.my = fixedParts.join(' '); }; var hideOnClick = function(event) { if (isContextMenuClickEvent(event)) { return; } if (settings.hide.onClick) { if ($(event.target).closest(settings.selectors.preventClose).length) { return; } } else if (event.target !== this) { return; } self.hide(); }; var isIgnoredTarget = function(event) { if (! settings.hide.ignore) { return false; } return !! $(event.target).closest(settings.hide.ignore).length; }; var hideOnOutsideClick = function(event) { if (isContextMenuClickEvent(event) || $(event.target).closest(elements.widget).length || isIgnoredTarget(event)) { return; } self.hide(); }; var initElements = function() { self.addElement('widget'); self.addElement('header'); self.addElement('message'); self.addElement('window', window); self.addElement('body', document.body); self.addElement('container', settings.container); if (settings.iframe) { self.addElement('iframe', settings.iframe); } if (settings.closeButton) { if ( settings.closeButtonClass ) { // Backwards compatibility settings.closeButtonOptions.iconClass = settings.closeButtonClass; } const $button = $('', settings.closeButtonOptions.attributes), $buttonIcon = $(settings.closeButtonOptions.iconElement).addClass(settings.closeButtonOptions.iconClass); $button.append($buttonIcon); self.addElement('closeButton', $button); } var id = self.getSettings('id'); if (id) { self.setID(id); } var classes = []; $.each(self.types, function() { classes.push(settings.classes.globalPrefix + '-type-' + this); }); classes.push(self.getSettings('className')); elements.widget .addClass(classes.join(' ')) .attr({ 'aria-modal': true, 'role': 'document', 'tabindex': 0, }); }; var initSettings = function(parent, userSettings) { var parentSettings = $.extend(true, {}, parent.getSettings()); settings = { headerMessage: '', message: '', effects: parentSettings.effects, classes: { globalPrefix: parentSettings.classPrefix, prefix: parentSettings.classPrefix + '-' + widgetName, preventScroll: parentSettings.classPrefix + '-prevent-scroll', }, selectors: { preventClose: '.' + parentSettings.classPrefix + '-prevent-close', }, container: 'body', preventScroll: false, iframe: null, closeButton: false, closeButtonOptions: { iconClass: parentSettings.classPrefix + '-close-button-icon', attributes: { role: 'button', 'tabindex': 0, 'aria-label': 'Close', href: '#', }, iconElement: '', }, position: { element: 'widget', my: 'center', at: 'center', enable: true, autoRefresh: false, }, hide: { auto: false, autoDelay: 5000, onClick: false, onOutsideClick: true, onOutsideContextMenu: false, onBackgroundClick: true, onEscKeyPress: true, ignore: '', }, }; $.extend(true, settings, self.getDefaultSettings(), userSettings); initSettingsEvents(); }; var initSettingsEvents = function() { $.each(settings, function(settingKey) { var eventName = settingKey.match(/^on([A-Z].*)/); if (!eventName) { return; } eventName = eventName[1].charAt(0).toLowerCase() + eventName[1].slice(1); self.on(eventName, this); }); }; var isContextMenuClickEvent = function(event) { // Firefox fires `click` event on every `contextmenu` event. return event.type === 'click' && event.button === 2; }; var normalizeClassName = function(name) { return name.replace(/([a-z])([A-Z])/g, function() { return arguments[1] + '-' + arguments[2].toLowerCase(); }); }; var onWindowKeyUp = function(event) { var ESC_KEY = 27, keyCode = event.which; if (ESC_KEY === keyCode) { self.hide(); } }; var unbindEvents = function() { var windows = [elements.window]; if (elements.iframe) { windows.push(jQuery(elements.iframe[0].contentWindow)); } windows.forEach(function(window) { if (settings.hide.onEscKeyPress) { window.off('keyup', onWindowKeyUp); } if (settings.hide.onOutsideClick) { window[0].removeEventListener('click', hideOnOutsideClick, true); } if (settings.hide.onOutsideContextMenu) { window[0].removeEventListener('contextmenu', hideOnOutsideClick, true); } if (settings.position.autoRefresh) { window.off('resize', self.refreshPosition); } }); if (settings.hide.onClick || settings.hide.onBackgroundClick) { elements.widget.off('click', hideOnClick); } }; this.addElement = function(name, element, classes) { var $newElement = elements[name] = $(element || '
'), normalizedName = normalizeClassName(name); classes = classes ? classes + ' ' : ''; classes += settings.classes.globalPrefix + '-' + normalizedName; classes += ' ' + settings.classes.prefix + '-' + normalizedName; $newElement.addClass(classes); return $newElement; }; this.destroy = function() { unbindEvents(); elements.widget.remove(); self.trigger('destroy'); return self; }; this.getElements = function(item) { return item ? elements[item] : elements; }; this.getSettings = function(setting) { var copy = Object.create(settings); if (setting) { return copy[setting]; } return copy; }; this.hide = function() { if (! self.isVisible()) { return; } clearTimeout(hideTimeOut); callEffect('hide', arguments); unbindEvents(); if (settings.preventScroll) { self.getElements('body').removeClass(settings.classes.preventScroll); } self.trigger('hide'); return self; }; this.init = function(parent, properties) { if (!(parent instanceof DialogsManager.Instance)) { throw 'The ' + self.widgetName + ' must to be initialized from an instance of DialogsManager.Instance'; } ensureClosureMethods(); self.trigger('init', properties); initSettings(parent, properties); initElements(); self.buildWidget(); self.attachEvents(); self.trigger('ready'); return self; }; this.isVisible = function() { return elements.widget.is(':visible'); }; this.on = function(eventName, callback) { if ('object' === typeof eventName) { $.each(eventName, function(singleEventName) { self.on(singleEventName, this); }); return self; } var eventNames = eventName.split(' '); eventNames.forEach(function(singleEventName) { if (!events[singleEventName]) { events[singleEventName] = []; } events[singleEventName].push(callback); }); return self; }; this.off = function(eventName, callback) { if (! events[ eventName ]) { return self; } if (! callback) { delete events[eventName]; return self; } var callbackIndex = events[eventName].indexOf(callback); if (-1 !== callbackIndex) { events[eventName].splice(callbackIndex, 1); } return self; }; this.refreshPosition = function() { if (! settings.position.enable) { return; } var position = $.extend({}, settings.position); if (elements[position.of]) { position.of = elements[position.of]; } if (! position.of) { position.of = window; } if (settings.iframe) { fixIframePosition(position); } elements[position.element].position(position); }; this.setID = function(id) { elements.widget.attr('id', id); return self; }; this.setHeaderMessage = function(message) { self.getElements('header').html(message); return self; }; this.setMessage = function(message) { elements.message.html(message); return self; }; this.setSettings = function(key, value) { if (jQuery.isPlainObject(value)) { $.extend(true, settings[key], value); } else { settings[key] = value; } return self; }; this.show = function() { clearTimeout(hideTimeOut); elements.widget.appendTo(elements.container).hide(); callEffect('show', arguments); self.refreshPosition(); if (settings.hide.auto) { hideTimeOut = setTimeout(self.hide, settings.hide.autoDelay); } bindEvents(); if (settings.preventScroll) { self.getElements('body').addClass(settings.classes.preventScroll); } self.trigger('show'); return self; }; this.trigger = function(eventName, params) { var methodName = 'on' + eventName[0].toUpperCase() + eventName.slice(1); if (self[methodName]) { self[methodName](params); } var callbacks = events[eventName]; if (!callbacks) { return; } $.each(callbacks, function(index, callback) { callback.call(self, params); }); return self; }; }; DialogsManager.Widget.prototype.types = []; // Inheritable widget methods DialogsManager.Widget.prototype.buildWidget = function() { var elements = this.getElements(), settings = this.getSettings(); elements.widget.append(elements.header, elements.message); this.setHeaderMessage(settings.headerMessage); this.setMessage(settings.message); if (this.getSettings('closeButton')) { elements.widget.prepend(elements.closeButton); } }; DialogsManager.Widget.prototype.attachEvents = function() { var self = this; if (self.getSettings('closeButton')) { self.getElements('closeButton').on('click', function(event) { event.preventDefault(); self.hide(); }); } }; DialogsManager.Widget.prototype.getDefaultSettings = function() { return {}; }; DialogsManager.Widget.prototype.getClosureMethods = function() { return []; }; DialogsManager.Widget.prototype.onHide = function() { }; DialogsManager.Widget.prototype.onShow = function() { }; DialogsManager.Widget.prototype.onInit = function() { }; DialogsManager.Widget.prototype.onReady = function() { }; DialogsManager.widgetsTypes.simple = DialogsManager.Widget; DialogsManager.addWidgetType('buttons', { activeKeyUp: function(event) { var TAB_KEY = 9; if (event.which === TAB_KEY) { event.preventDefault(); } if (this.hotKeys[event.which]) { this.hotKeys[event.which](this); } }, activeKeyDown: function(event) { if (!this.focusedButton) { return; } var TAB_KEY = 9; if (event.which === TAB_KEY) { event.preventDefault(); var currentButtonIndex = this.focusedButton.index(), nextButtonIndex; if (event.shiftKey) { nextButtonIndex = currentButtonIndex - 1; if (nextButtonIndex < 0) { nextButtonIndex = this.buttons.length - 1; } } else { nextButtonIndex = currentButtonIndex + 1; if (nextButtonIndex >= this.buttons.length) { nextButtonIndex = 0; } } this.focusedButton = this.buttons[nextButtonIndex].trigger('focus'); } }, addButton: function(options) { var self = this, settings = self.getSettings(), buttonSettings = jQuery.extend(settings.button, options); var classes = options.classes ? options.classes + ' ' : ''; classes += settings.classes.globalPrefix + '-button'; var $button = self.addElement(options.name, $('<' + buttonSettings.tag + '>').html(options.text), classes); self.buttons.push($button); var buttonFn = function() { if (settings.hide.onButtonClick) { self.hide(); } if ('function' === typeof options.callback) { options.callback.call(this, self); } }; $button.on('click', buttonFn); if (options.hotKey) { this.hotKeys[options.hotKey] = buttonFn; } this.getElements('buttonsWrapper').append($button); if (options.focus) { this.focusedButton = $button; } return self; }, bindHotKeys: function() { this.getElements('window').on({ keyup: this.activeKeyUp, keydown: this.activeKeyDown }); }, buildWidget: function() { DialogsManager.Widget.prototype.buildWidget.apply(this, arguments); var $buttonsWrapper = this.addElement('buttonsWrapper'); this.getElements('widget').append($buttonsWrapper); }, getClosureMethods: function() { return [ 'activeKeyUp', 'activeKeyDown' ]; }, getDefaultSettings: function() { return { hide: { onButtonClick: true }, button: { tag: 'button' } }; }, onHide: function() { this.unbindHotKeys(); }, onInit: function() { this.buttons = []; this.hotKeys = {}; this.focusedButton = null; }, onShow: function() { this.bindHotKeys(); if (!this.focusedButton) { this.focusedButton = this.buttons[0]; } if (this.focusedButton) { this.focusedButton.trigger('focus'); } }, unbindHotKeys: function() { this.getElements('window').off({ keyup: this.activeKeyUp, keydown: this.activeKeyDown }); } }); DialogsManager.addWidgetType('lightbox', DialogsManager.getWidgetType('buttons').extend('lightbox', { getDefaultSettings: function() { var settings = DialogsManager.getWidgetType('buttons').prototype.getDefaultSettings.apply(this, arguments); return $.extend(true, settings, { contentWidth: 'auto', contentHeight: 'auto', position: { element: 'widgetContent', of: 'widget', autoRefresh: true } }); }, buildWidget: function() { DialogsManager.getWidgetType('buttons').prototype.buildWidget.apply(this, arguments); var $widgetContent = this.addElement('widgetContent'), elements = this.getElements(); $widgetContent.append(elements.header, elements.message, elements.buttonsWrapper); elements.widget.html($widgetContent); if (elements.closeButton) { $widgetContent.prepend(elements.closeButton); } }, onReady: function() { var elements = this.getElements(), settings = this.getSettings(); if ('auto' !== settings.contentWidth) { elements.message.width(settings.contentWidth); } if ('auto' !== settings.contentHeight) { elements.message.height(settings.contentHeight); } } })); DialogsManager.addWidgetType('confirm', DialogsManager.getWidgetType('lightbox').extend('confirm', { onReady: function() { DialogsManager.getWidgetType('lightbox').prototype.onReady.apply(this, arguments); var strings = this.getSettings('strings'), isDefaultCancel = this.getSettings('defaultOption') === 'cancel'; this.addButton({ name: 'cancel', text: strings.cancel, callback: function(widget) { widget.trigger('cancel'); }, focus: isDefaultCancel }); this.addButton({ name: 'ok', text: strings.confirm, callback: function(widget) { widget.trigger('confirm'); }, focus: !isDefaultCancel }); }, getDefaultSettings: function() { var settings = DialogsManager.getWidgetType('lightbox').prototype.getDefaultSettings.apply(this, arguments); settings.strings = { confirm: 'OK', cancel: 'Cancel' }; settings.defaultOption = 'cancel'; return settings; } })); DialogsManager.addWidgetType('alert', DialogsManager.getWidgetType('lightbox').extend('alert', { onReady: function() { DialogsManager.getWidgetType('lightbox').prototype.onReady.apply(this, arguments); var strings = this.getSettings('strings'); this.addButton({ name: 'ok', text: strings.confirm, callback: function(widget) { widget.trigger('confirm'); } }); }, getDefaultSettings: function() { var settings = DialogsManager.getWidgetType('lightbox').prototype.getDefaultSettings.apply(this, arguments); settings.strings = { confirm: 'OK' }; return settings; } })); // Exporting the DialogsManager variable to global global.DialogsManager = DialogsManager; })( typeof jQuery !== 'undefined' ? jQuery : typeof require === 'function' && require('jquery'), (typeof module !== 'undefined' && typeof module.exports !== 'undefined') ? module.exports : window ); {"id":4399,"date":"2023-05-13T12:12:22","date_gmt":"2023-05-13T12:12:22","guid":{"rendered":"https:\/\/weeklypostgazette.com\/?p=4399"},"modified":"2023-05-14T11:24:38","modified_gmt":"2023-05-14T11:24:38","slug":"finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth","status":"publish","type":"post","link":"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/","title":{"rendered":"Finding the Right Marketing Mix Key to Sustaining Home-Service Business Growth"},"content":{"rendered":"

Creating and maintaining the right mix to market and advertise your home-service business is critical to finding new customers and keeping your existing base of clients. Tommy Mello<\/a> has refined his company\u2019s marketing to a fine science \u2013 and he\u2019s not done mixing it up yet.<\/span><\/p>\n

Mello, owner, and CEO of Phoenix-based A1 Garage Door Service, uses several marketing tools to keep his company top of mind with consumers.\u00a0 Mello founded A1 Garage in 2007 in Phoenix and has since expanded his operation to include 19 markets around the U.S.<\/span><\/p>\n

It\u2019s not easy to miss A1\u2019s marketing and that\u2019s the point. Mello uses several marketing tools to help sustain his company\u2019s growth. Of course, you\u2019ll see traditional print advertisements of A1 in community newspapers, but it is the behind-the-scenes activity that is more intriguing.<\/span><\/p>\n

Mello invests heavily in SEO so if people search for something like, \u201cgarage door repair\u201d A1 is consistently on top of the list of non-paid providers in each market the company serves. Location-specific keywords, services provided, and other key terms help search users quickly and easily find what they are looking for. SEO is also a powerful tool that helps link searches to existing content on the internet and the company\u2019s website.<\/span><\/p>\n

Another strategic tool Mello embraces with his marketing is the use of videos. Messages can be delivered quickly and effectively with video while showcasing your home-service expertise. All the while, it provides a great opportunity to connect with clients, prospective clients, and the public as a whole. By doing so in a manner that makes you come across as unique and relatable, you can thereby humanize your brand, making it more transparent to audiences and building strong relationships with them based in trust.\u00a0 Some estimates indicate that adding a video to your marketing could increase clickthrough rates by more than 200 percent.<\/span><\/p>\n

Tommy Mello<\/a> has taken great pride in the fact that his company has a bank of positive online reviews. From Google to Yelp, having others say great things about your service is marketing gold. As such, it\u2019s imperative to encourage thorough and honest reviews. On the surface, these reviews provide potential clients with the peace of mind they need to enlist your company instead of any other. Though, there\u2019s more to it. On a deeper level, reviews are vital for getting the feedback and even criticism you need to pinpoint issues with your operations, allowing you to direct your time and resources towards the most effective business decisions online shop<\/a>.<\/span><\/p>\n

A1 also excels in direct mail marketing. Though it may be an old-school tactic, hitting consumers where they live, so to speak, has proven to be a more down-to-earth method, and thus incredibly useful for enhancing A1 Garage\u2019s marketing on a more personal level.<\/span><\/p>\n

Of course, there\u2019s more, since Mello prefers to have all of his marketing bases covered. His other tactics include referrals, a user-friendly website, strong PR content, and creative branding on his trucks and materials. All of which continue to keep A1 in a state of perpetual growth, and more importantly, at the forefront of marketing innovation.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"

Creating and maintaining the right mix to market and advertise your home-service business is critical to finding new customers and keeping your existing base of clients. Tommy Mello has refined his company\u2019s marketing to a fine science \u2013 and he\u2019s not done mixing it up yet. Mello, owner, and CEO of Phoenix-based A1 Garage Door […]<\/p>\n","protected":false},"author":2,"featured_media":7402,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[4086,4082,4084,4083,4085],"class_list":["post-4399","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-business","tag-a1-garage-door-tommy-mello","tag-tommy-mello","tag-tommy-mello-a1-garage","tag-tommy-mello-net-worth","tag-tommy-mello-podcast"],"yoast_head":"\nFinding the Right Marketing Mix Key to Sustaining Home-Service Business Growth<\/title>\n<meta name=\"description\" content=\"Tommy Mello has taken great pride in the fact that his company has a bank of positive online reviews. From Google to Yelp, having others say..\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Finding the Right Marketing Mix Key to Sustaining Home-Service Business Growth\" \/>\n<meta property=\"og:description\" content=\"Tommy Mello has taken great pride in the fact that his company has a bank of positive online reviews. From Google to Yelp, having others say..\" \/>\n<meta property=\"og:url\" content=\"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/\" \/>\n<meta property=\"og:site_name\" content=\"Weekly Post Gazette\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-13T12:12:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-14T11:24:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2022\/11\/Finding-the-Right-Marketing-Mix-Key-to-Sustaining-Home-Service-Business-Growth.png\" \/>\n\t<meta property=\"og:image:width\" content=\"527\" \/>\n\t<meta property=\"og:image:height\" content=\"304\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"alvina aly\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"alvina aly\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/\"},\"author\":{\"name\":\"alvina aly\",\"@id\":\"https:\/\/weeklypostgazette.com\/#\/schema\/person\/3afbee783b25021574f5b216f2dc4b2d\"},\"headline\":\"Finding the Right Marketing Mix Key to Sustaining Home-Service Business Growth\",\"datePublished\":\"2023-05-13T12:12:22+00:00\",\"dateModified\":\"2023-05-14T11:24:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/\"},\"wordCount\":538,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/weeklypostgazette.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2022\/11\/Finding-the-Right-Marketing-Mix-Key-to-Sustaining-Home-Service-Business-Growth.png\",\"keywords\":[\"a1 garage door tommy mello\",\"Tommy Mello\",\"tommy mello a1 garage\",\"tommy mello net worth\",\"tommy mello podcast\"],\"articleSection\":[\"Business\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/\",\"url\":\"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/\",\"name\":\"Finding the Right Marketing Mix Key to Sustaining Home-Service Business Growth\",\"isPartOf\":{\"@id\":\"https:\/\/weeklypostgazette.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2022\/11\/Finding-the-Right-Marketing-Mix-Key-to-Sustaining-Home-Service-Business-Growth.png\",\"datePublished\":\"2023-05-13T12:12:22+00:00\",\"dateModified\":\"2023-05-14T11:24:38+00:00\",\"description\":\"Tommy Mello has taken great pride in the fact that his company has a bank of positive online reviews. From Google to Yelp, having others say..\",\"breadcrumb\":{\"@id\":\"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/#primaryimage\",\"url\":\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2022\/11\/Finding-the-Right-Marketing-Mix-Key-to-Sustaining-Home-Service-Business-Growth.png\",\"contentUrl\":\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2022\/11\/Finding-the-Right-Marketing-Mix-Key-to-Sustaining-Home-Service-Business-Growth.png\",\"width\":527,\"height\":304},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/weeklypostgazette.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Finding the Right Marketing Mix Key to Sustaining Home-Service Business Growth\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/weeklypostgazette.com\/#website\",\"url\":\"https:\/\/weeklypostgazette.com\/\",\"name\":\"Weekly Post Gazette\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/weeklypostgazette.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/weeklypostgazette.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/weeklypostgazette.com\/#organization\",\"name\":\"Weekly Post Gazette\",\"url\":\"https:\/\/weeklypostgazette.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/weeklypostgazette.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/weekly-post-gazette-logo.png\",\"contentUrl\":\"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/weekly-post-gazette-logo.png\",\"width\":170,\"height\":45,\"caption\":\"Weekly Post Gazette\"},\"image\":{\"@id\":\"https:\/\/weeklypostgazette.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/weeklypostgazette.com\/#\/schema\/person\/3afbee783b25021574f5b216f2dc4b2d\",\"name\":\"alvina aly\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/weeklypostgazette.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/650c85462aa1167b92dd7a3af340f9cd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/650c85462aa1167b92dd7a3af340f9cd?s=96&d=mm&r=g\",\"caption\":\"alvina aly\"},\"sameAs\":[\"https:\/\/weeklypostgazette.com\/\"],\"url\":\"https:\/\/weeklypostgazette.com\/author\/alvina\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Finding the Right Marketing Mix Key to Sustaining Home-Service Business Growth","description":"Tommy Mello has taken great pride in the fact that his company has a bank of positive online reviews. From Google to Yelp, having others say..","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/","og_locale":"en_US","og_type":"article","og_title":"Finding the Right Marketing Mix Key to Sustaining Home-Service Business Growth","og_description":"Tommy Mello has taken great pride in the fact that his company has a bank of positive online reviews. From Google to Yelp, having others say..","og_url":"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/","og_site_name":"Weekly Post Gazette","article_published_time":"2023-05-13T12:12:22+00:00","article_modified_time":"2023-05-14T11:24:38+00:00","og_image":[{"width":527,"height":304,"url":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2022\/11\/Finding-the-Right-Marketing-Mix-Key-to-Sustaining-Home-Service-Business-Growth.png","type":"image\/png"}],"author":"alvina aly","twitter_card":"summary_large_image","twitter_misc":{"Written by":"alvina aly","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/#article","isPartOf":{"@id":"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/"},"author":{"name":"alvina aly","@id":"https:\/\/weeklypostgazette.com\/#\/schema\/person\/3afbee783b25021574f5b216f2dc4b2d"},"headline":"Finding the Right Marketing Mix Key to Sustaining Home-Service Business Growth","datePublished":"2023-05-13T12:12:22+00:00","dateModified":"2023-05-14T11:24:38+00:00","mainEntityOfPage":{"@id":"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/"},"wordCount":538,"commentCount":0,"publisher":{"@id":"https:\/\/weeklypostgazette.com\/#organization"},"image":{"@id":"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/#primaryimage"},"thumbnailUrl":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2022\/11\/Finding-the-Right-Marketing-Mix-Key-to-Sustaining-Home-Service-Business-Growth.png","keywords":["a1 garage door tommy mello","Tommy Mello","tommy mello a1 garage","tommy mello net worth","tommy mello podcast"],"articleSection":["Business"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/","url":"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/","name":"Finding the Right Marketing Mix Key to Sustaining Home-Service Business Growth","isPartOf":{"@id":"https:\/\/weeklypostgazette.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/#primaryimage"},"image":{"@id":"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/#primaryimage"},"thumbnailUrl":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2022\/11\/Finding-the-Right-Marketing-Mix-Key-to-Sustaining-Home-Service-Business-Growth.png","datePublished":"2023-05-13T12:12:22+00:00","dateModified":"2023-05-14T11:24:38+00:00","description":"Tommy Mello has taken great pride in the fact that his company has a bank of positive online reviews. From Google to Yelp, having others say..","breadcrumb":{"@id":"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/#primaryimage","url":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2022\/11\/Finding-the-Right-Marketing-Mix-Key-to-Sustaining-Home-Service-Business-Growth.png","contentUrl":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2022\/11\/Finding-the-Right-Marketing-Mix-Key-to-Sustaining-Home-Service-Business-Growth.png","width":527,"height":304},{"@type":"BreadcrumbList","@id":"https:\/\/weeklypostgazette.com\/finding-the-right-marketing-mix-key-to-sustaining-home-service-business-growth\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/weeklypostgazette.com\/"},{"@type":"ListItem","position":2,"name":"Finding the Right Marketing Mix Key to Sustaining Home-Service Business Growth"}]},{"@type":"WebSite","@id":"https:\/\/weeklypostgazette.com\/#website","url":"https:\/\/weeklypostgazette.com\/","name":"Weekly Post Gazette","description":"","publisher":{"@id":"https:\/\/weeklypostgazette.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/weeklypostgazette.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/weeklypostgazette.com\/#organization","name":"Weekly Post Gazette","url":"https:\/\/weeklypostgazette.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/weeklypostgazette.com\/#\/schema\/logo\/image\/","url":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/weekly-post-gazette-logo.png","contentUrl":"https:\/\/weeklypostgazette.com\/wp-content\/uploads\/2023\/05\/weekly-post-gazette-logo.png","width":170,"height":45,"caption":"Weekly Post Gazette"},"image":{"@id":"https:\/\/weeklypostgazette.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/weeklypostgazette.com\/#\/schema\/person\/3afbee783b25021574f5b216f2dc4b2d","name":"alvina aly","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/weeklypostgazette.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/650c85462aa1167b92dd7a3af340f9cd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/650c85462aa1167b92dd7a3af340f9cd?s=96&d=mm&r=g","caption":"alvina aly"},"sameAs":["https:\/\/weeklypostgazette.com\/"],"url":"https:\/\/weeklypostgazette.com\/author\/alvina\/"}]}},"_links":{"self":[{"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/posts\/4399"}],"collection":[{"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/comments?post=4399"}],"version-history":[{"count":0,"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/posts\/4399\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/media\/7402"}],"wp:attachment":[{"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/media?parent=4399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/categories?post=4399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/weeklypostgazette.com\/wp-json\/wp\/v2\/tags?post=4399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}