(403) 545-0195

Web Design

Your content goes here. Edit or remove this text inline.

Logo Design

Your content goes here. Edit or remove this text inline.

Web Development

Your content goes here. Edit or remove this text inline.

White Labeling

Your content goes here. Edit or remove this text inline.

VIEW ALL SERVICES 

Contact a Local Digital Marketing Team in Medicine Hat

We help small businesses in Medicine Hat and Southeast Alberta grow through web design, SEO, video, and local marketing.

Our Core Services for Medicine Hat Businesses

Choose the service you’re interested in. We’ll help you build a clear plan and get measurable results.

Social Media Marketing

Content and advertising that build awareness, engagement, and steady growth.

SEO Services

Local and regional SEO strategies that help your business rank higher and get found in Alberta.

Web Design & Development

Fast, mobile-friendly websites built to convert visitors into real leads for your business.

Video Production

Professional video that tells your story, builds trust, and supports your marketing goals.

Not sure which service you need? Contact us, and we’ll help you decide.

If Media Address

Get a Free Consultation

PO box 406 Medicine Hat AB T1A 7G2

Prefer to talk instead?

Use the form below to send us a message quickly.

if media inc phone number

call us at

(403) 545-0195

Call 24/7 Sales: +1 (587) 409-5842

Schedule a Call with Us

Would you prefer to chat one-on-one? Book a quick call with our team at a time that works best for you.

Proudly Based in Medicine Hat, Alberta
Serving Medicine Hat, Redcliff, Brooks, and Southeast Alberta.

Not ready to book yet?

Here are answers to questions we’re commonly asked by Alberta businesses.

If Media Video Production specializes in creating corporate and testimonial videos that make your business stand out. We help you tell your story!
Where is If Media located?

If Media is based in Medicine Hat, Alberta. We work with local businesses across Medicine Hat, Redcliff, and Southern Alberta, offering both in-person and remote services.

What types of businesses do you work with?

We work with small and mid-sized businesses, including service providers, restaurants, retail shops, trades, and professional services. Our focus is on helping local businesses grow online in practical, measurable ways.

How much do your services cost?

Pricing depends on the service and scope of work. We don’t offer one-size-fits-all packages. After a brief conversation, we provide clear recommendations and transparent pricing aligned with your goals.

Do you offer SEO for local businesses?

Yes. Our SEO services focus on local visibility, including Google search, local directories, and location-based searches across Medicine Hat and surrounding areas.

What kind of websites do you build?

We build fast, mobile-friendly websites designed to convert visitors into leads. This includes business websites, landing pages, and directory-style platforms.

Do you provide video production services?

Yes. We create professional video content that helps businesses tell their story, build trust, and support marketing campaigns across websites and social media.

Is digital marketing worth it for small businesses?

When done correctly, digital marketing helps small businesses compete locally, attract better leads, and build long-term visibility. The key is using the right strategy, not just more tools.

What happens after I contact you?

We start with a short conversation to understand your business and goals. From there, we recommend the next steps—no pressure, no obligation.

/** * IF MEDIA INC. — VBOUT CRM Bridge v2 * JS · Divi > Theme Options > Integration > Body Code * OR enqueued via child theme (preferred) * * Single public namespace: window.IFSForms * * Modules * ─────── * 1. CONFIG — all constants and thresholds * 2. EVENTS — internal pub/sub lifecycle bus * 3. SDK LOADER — idempotent async script injection * 4. FIELD BRIDGE — polls for live VBOUT fields, builds registry * 5. OBSERVER — MutationObserver-based success detection * 6. SUBMIT ENGINE — public API, data injection, state machine */(function () { 'use strict';/* ───────────────────────────────────────────────────────────── 1. CONFIG ───────────────────────────────────────────────────────────── */ var CONFIG = { SCRIPT_SRC: 'https://www.vbt.io/ext/vbtforms.js?lang=en', SCRIPT_ID: 'ifs-vbout-sdk', SCRIPT_CHARSET: 'utf-8', BRIDGE_SELECTOR: '.ifs-crm-bridge', FORM_SELECTOR: '.ifs-crm-form', FORM_KEY_ATTR: 'data-form-key', BRIDGE_STATE_ATTR: 'data-bridge-state',/* How long to poll for VBOUT fields after SDK loads */ POLL_INTERVAL_MS: 200, POLL_TIMEOUT_MS: 12000,/* Max wait for VBOUT SDK script to load */ SDK_TIMEOUT_MS: 10000,/* requestIdleCallback budget */ IDLE_TIMEOUT_MS: 3000,/* * How long to observe the VBOUT wrapper for a success signal * after submit.click() fires. If nothing is detected in this * window, we emit 'submitted_unconfirmed' instead of 'success'. */ SUCCESS_TIMEOUT_MS: 8000,/* * Text/class patterns VBOUT uses to signal a successful * submission. These are observed in the wrapper's DOM. * Extend this list if VBOUT's output changes. */ SUCCESS_TEXT_PATTERNS: [ 'thank you', 'thanks', 'submitted', 'received', 'success', 'confirmation', ], SUCCESS_CLASS_PATTERNS: [ 'success', 'confirmation', 'thank', 'submitted', ], };/* ───────────────────────────────────────────────────────────── 2. EVENTS Internal pub/sub. Errors in subscribers never crash the bridge. Lifecycle events: sdk:loaded | sdk:error form:ready | form:error bridge:ready ready | error | submit | submitting | success | submitted_unconfirmed ───────────────────────────────────────────────────────────── */ var Events = (function () { var listeners = {};function on(event, fn) { if (typeof fn !== 'function') return; (listeners[event] = listeners[event] || []).push(fn); }function off(event, fn) { if (!listeners[event]) return; listeners[event] = listeners[event].filter(function (f) { return f !== fn; }); }function emit(event, payload) { (listeners[event] || []).forEach(function (fn) { try { fn(payload); } catch (_) {} }); }return { on: on, off: off, emit: emit }; })();/* ───────────────────────────────────────────────────────────── 3. SDK LOADER Injects the VBOUT script once. Guards against Divi partial re-renders, WP ajax navigation, and double-execution. ───────────────────────────────────────────────────────────── */ var SDKLoader = (function () { var loaded = false; var pending = false; var timer = null;function load() { if (document.getElementById(CONFIG.SCRIPT_ID)) { loaded = true; Events.emit('sdk:loaded'); return; } if (pending || loaded) return; pending = true;var script = document.createElement('script'); script.id = CONFIG.SCRIPT_ID; script.src = CONFIG.SCRIPT_SRC; script.async = true; script.charset = CONFIG.SCRIPT_CHARSET;timer = setTimeout(function () { if (!loaded) { pending = false; Events.emit('sdk:error', { reason: 'timeout' }); } }, CONFIG.SDK_TIMEOUT_MS);script.onload = function () { clearTimeout(timer); loaded = pending = false; loaded = true; Events.emit('sdk:loaded'); };script.onerror = function () { clearTimeout(timer); pending = false; Events.emit('sdk:error', { reason: 'load_error' }); };document.body.appendChild(script); }return { load: load }; })();/* ───────────────────────────────────────────────────────────── 4. FIELD BRIDGE Polls each .ifs-crm-form wrapper until VBOUT has injected its real /