CINXE.COM
<!doctype html> <!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]--> <!--[if IE 7]><html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]--> <!--[if IE 8]><html class="no-js lt-ie9" lang="en"> <![endif]--> <!--[if IE 9 ]><html class="ie9 no-js" lang="en"> <![endif]--> <!--[if (gt IE 9)|!(IE)]><!--> <html class="no-js" lang="en"> <!--<![endif]--> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta property="fb:admins" content="13603953"> <meta name="google-site-verification" content=""> <meta name="google-site-verification" content="25sn8JLSRv5wdvRPkQebtVQ5Nq1f469fuShCYp6fOCo"> <meta name="msvalidate.01" content="AE1E888386499A412C42CB1A632DA95C"> <meta name="p:domain_verify" content="pinterest-e17c6.html"> <link rel="preload" as="font" crossorigin="true" type="font/woff2" href="https://cdn.shopify.com/shopify-marketing_assets/static/ShopifySans--medium.woff2"> <link rel="preload" as="font" crossorigin="true" type="font/woff2" href="https://cdn.shopify.com/shopify-marketing_assets/static/ShopifySans--bold.woff2"> <meta property="og:image" content="https://shopifypartnerblog.myshopify.com/cdn/shop/t/494/assets/share-image-generic-large.png?v=144598773500694229661571929002"> <meta property="og:site_name" content="Web Design and Development Blog | Web Design Trends, Tips, and More by Shopify Partners." /> <meta property="og:description" content="A blog about web design and development, creative design inspiration, and updates to the Shopify Partners Program." /> <link href="//shopifypartnerblog.myshopify.com/cdn/shop/t/494/assets/application.css?v=139822969730374079711656091659" rel="stylesheet" type="text/css" media="all" /> <script async="async" src="https://www.googletagservices.com/tag/js/gpt.js"></script> <!-- *End from original blog* --> <script type='text/javascript'>var _sf_startpt=(new Date()).getTime()</script> <script type="text/javascript"> (function(){ var config = { 'Trekkie': { 'appName': 'blog' }, 'Clickstream': { 'appName': 'blog' } }; var trekkie_version = '2017.01.03.1'; var analytics = window.analytics = window.analytics || []; if (analytics.integrations) { return; } // Inject a rogue trekkie object so that storefront loader doesn't get triggered. // This will get wiped away when the blog trekkie instance initializes. window.trekkie = []; window.trekkie.integrations = []; analytics.methods = [ 'identify', 'page', 'ready', 'track', 'trackForm', 'trackLink' ]; analytics.factory = function(method) { return function() { var args = Array.prototype.slice.call(arguments); args.unshift(method); analytics.push(args); return analytics; }; }; for (var i = 0; i < analytics.methods.length; i++) { var key = analytics.methods[i]; analytics[key] = analytics.factory(key); } analytics.load = function(config) { analytics.config = config; var script = document.createElement('script'); script.type = 'text/javascript'; script.onerror = function(e) { (new Image()).src = '//v.shopify.com/internal_errors/track?error=trekkie_load'; }; script.async = true; script.src = '//cdn.shopify.com/s/javascripts/tricorder/trekkie.' + config.Trekkie.appName + '.min.js?v=' + trekkie_version; var first = document.getElementsByTagName('script')[0]; first.parentNode.insertBefore(script, first); }; analytics.load(config); analytics.page(); })(); </script> <script type="text/javascript"> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','_gaUTracker'); var _gaUTrackerOptions = {}; analytics.ready(function() { _gaUTrackerOptions.clientId = analytics.user().traits().uniqToken; _gaUTracker('create', 'UA-82702-49', _gaUTrackerOptions); _gaUTracker('set', 'transport', 'beacon'); _gaUTracker('require', 'displayfeatures'); _gaUTracker('send', 'pageview'); _gaUTrackerOptions.name = '_other'; _gaUTracker('create', 'UA-82702-3', _gaUTrackerOptions); _gaUTracker('_other.set', 'transport', 'beacon'); _gaUTracker('_other.require', 'displayfeatures'); _gaUTracker('_other.send', 'pageview'); }); </script> <!-- Icons --> <link rel="shortcut icon" type="image/png" href="//cdn.shopify.com/shopify-marketing_assets/static/shopify-favicon.png"> <script src="//cdn.optimizely.com/js/176768494.js"></script> <script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script> <script async="async" src="/checkouts/internal/preloads.js?locale=en-CA"></script> <script id="shopify-features" type="application/json">{"accessToken":"d49baec4b0ca9bd465d0e2c5574d1dc7","betas":["rich-media-storefront-analytics"],"domain":"shopifypartnerblog.myshopify.com","predictiveSearch":true,"shopId":5332089,"smart_payment_buttons_url":"https:\/\/shopifypartnerblog.myshopify.com\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/spb.en.js","dynamic_checkout_cart_url":"https:\/\/shopifypartnerblog.myshopify.com\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/dynamic-checkout-cart.en.js","locale":"en"}</script> <script>var Shopify = Shopify || {}; Shopify.shop = "shopifypartnerblog.myshopify.com"; Shopify.locale = "en"; Shopify.currency = {"active":"CAD","rate":"1.0"}; Shopify.country = "CA"; Shopify.theme = {"name":"Shop Theme 10-24-19-1456","id":40582905912,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"}; Shopify.theme.handle = "null"; Shopify.theme.style = {"id":null,"handle":null}; Shopify.cdnHost = "shopifypartnerblog.myshopify.com/cdn"; Shopify.routes = Shopify.routes || {}; Shopify.routes.root = "/";</script> <script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script> <script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script> <script id="shop-js-analytics" type="application/json">{"pageType":"404"}</script> <script>(function() { function asyncLoad() { var urls = ["\/\/shopify.sumome.com\/apps\/shopify\/sumome-plugin\/js\/sumome.js?siteID=2da4280011bca200706c6500f6b38200d7794000ca5a1000a312e8001cf40e00\u0026shopId=5332089\u0026login=c74b5a71439b1720f5daa5ca2bc0c3c55df8888a\u0026shop=shopifypartnerblog.myshopify.com"]; for (var i = 0; i < urls.length; i++) { var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = urls[i]; var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x); } }; if(window.attachEvent) { window.attachEvent('onload', asyncLoad); } else { window.addEventListener('load', asyncLoad, false); } })();</script> <script id="__st">var __st={"a":5332089,"offset":-18000,"reqid":"c0de8a96-f4e4-497b-80f0-628e2627d825-1732399582","pageurl":"shopifypartnerblog.myshopify.com\/404","u":"7cc6f5e56c73"};</script> <script>window.ShopifyPaypalV4VisibilityTracking = true;</script> <script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(',');function s(t,e,n=!1){try{const o=window.sessionStorage;for(const[n,c]of Object.entries(JSON.parse(o.getItem(e))))t.elements[n]&&(t.elements[n].value=c);n&&o.removeItem(e)}catch{}}const a='form_key',i=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response','password'],u=()=>{try{return window.sessionStorage}catch{return}},m=t=>t.elements[a],f='form_type',d='cptcha';function p(t){t.dataset[d]=!0}const l=window,h=l.document,_='Shopify',y='ce_forms',E='captcha';let v=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe','https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.4.0.iife.js',T={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=l[_][y],c=o.bindForm;if(c)return c(t,g,e,T).then(n);o.q.push([[t,g,e,T],n]),v||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:'https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.4.0.iife.js'})),v=!0)});var g,T;l[_]=l[_]||{},l[_][y]=l[_][y]||{},l[_][y].q=[],l[_][E]=l[_][E]||{},l[_][E].protect=function(t,e){n(t,void 0,e),p(t)},Object.freeze(l[_][E]),function(t,e,n,l,h,_){const[y,E,v,g]=function(t,e,n){const s=e?o:[],a=t?c:[],i=[...s,...a],u=[...o],m=r(i),f=r(s),d=n&&r(i.filter((([t,e])=>n.includes(e)))),p=r(u),l=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];return[l(m),l(f),l(d),l(p)]}(l,h,_),T=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},S=t=>y().includes(t);t.addEventListener('submit',(t=>{const e=T(t);if(!e)return;const n=S(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=m(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!u())return;!function(t){const e=u();if(!e)return;const n=m(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){m(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:a})),t.elements[a].value=e}(t,e),function(t,e){const n=u();if(!n)return;const o=[...t.querySelectorAll('input[type="password"]')].map((({name:t})=>t)),c=[...i,...o],r={};for(const[s,a]of new FormData(t).entries())c.includes(s)||(r[s]=a);n.setItem(e,JSON.stringify(r))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const w=(t,e)=>{t&&!t.dataset[d]&&(n(t,e.some((e=>e===t))),p(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=T(t);S(e)&&w(e,E())}));const A=e.get('form_key'),b=e.get(f),I=A&&b;t.addEventListener('DOMContentLoaded',(()=>{const t=E();if(I)for(const e of t)e.elements[f].value===b&&s(e,A);[...new Set([...v(),...y().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>w(e,t)))}))}(h,new URLSearchParams(l.location.search),n,!0,!0,['guest_login'])})()}();</script> <script integrity="sha256-EGCDRYTvIEOXsReXgqGwkAR+5Dl8tickSrieA/ZcQwc=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//shopifypartnerblog.myshopify.com/cdn/shopifycloud/shopify/assets/storefront/load_feature-1060834584ef204397b1179782a1b090047ee4397cb627244ab89e03f65c4307.js" crossorigin="anonymous"></script> <script integrity="sha256-HAs5a9TQVLlKuuHrahvWuke+s1UlxXohfHeoYv8G2D8=" data-source-attribution="shopify.dynamic-checkout" defer="defer" src="//shopifypartnerblog.myshopify.com/cdn/shopifycloud/shopify/assets/storefront/features-1c0b396bd4d054b94abae1eb6a1bd6ba47beb35525c57a217c77a862ff06d83f.js" crossorigin="anonymous"></script> <script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script> <script type="text/javascript"> setTimeout(function(){var a=document.createElement("script"); var b=document.getElementsByTagName("script")[0]; a.src=document.location.protocol+"//script.crazyegg.com/pages/scripts/0012/4914.js?"+Math.floor(new Date().getTime()/3600000); a.async=true;a.type="text/javascript";b.parentNode.insertBefore(a,b)}, 1); </script> <script src="//shopifypartnerblog.myshopify.com/cdn/shop/t/494/assets/seo-hreflangs.js?v=37932149456709252791571929002" type="text/javascript"></script> <link rel="canonical" href="https://shopifypartnerblog.myshopify.com/404"> <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch"> <script>(function(){if ("sendBeacon" in navigator && "performance" in window) {var session_token = document.cookie.match(/_shopify_s=([^;]*)/);function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 5332089,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token: session_token && session_token.length === 2 ? session_token[1] : "",page_type: "404"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script> <script id="web-pixels-manager-setup">(function d(d,e,r,a,n){var o,i,t,s,l=(i=(o={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(12[7-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(12[7-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,t=o.legacy,s=navigator.userAgent,i.test(s)?"modern":(t.test(s),"legacy"));window.Shopify=window.Shopify||{};var c=window.Shopify;c.analytics=c.analytics||{};var u=c.analytics;u.replayQueue=[],u.publish=function(d,e,r){return u.replayQueue.push([d,e,r]),!0};try{self.performance.mark("wpm:start")}catch(d){}var h=[r,"/wpm","/b",n,l.substring(0,1),".js"].join("");!function(d){var e=d.src,r=d.async,a=void 0===r||r,n=d.onload,o=d.onerror,i=document.createElement("script"),t=document.head,s=document.body;i.async=a,i.src=e,n&&i.addEventListener("load",n),o&&i.addEventListener("error",o),t?t.appendChild(i):s?s.appendChild(i):console.error("Did not find a head or body element to append the script")}({src:h,async:!0,onload:function(){var r=window.webPixelsManager.init(d);e(r);var a=window.Shopify.analytics;a.replayQueue.forEach((function(d){var e=d[0],a=d[1],n=d[2];r.publishCustomEvent(e,a,n)})),a.replayQueue=[],a.publish=r.publishCustomEvent,a.visitor=r.visitor},onerror:function(){var e=d.storefrontBaseUrl.replace(/\/$/,""),r="".concat(e,"/.well-known/shopify/monorail/unstable/produce_batch"),n=JSON.stringify({metadata:{event_sent_at_ms:(new Date).getTime()},events:[{schema_id:"web_pixels_manager_load/3.1",payload:{version:a||"latest",bundle_target:l,page_url:self.location.href,status:"failed",surface:d.surface,error_msg:"".concat(h," has failed to load")},metadata:{event_created_at_ms:(new Date).getTime()}}]});try{if(self.navigator.sendBeacon.bind(self.navigator)(r,n))return!0}catch(d){}var o=new XMLHttpRequest;try{return o.open("POST",r,!0),o.setRequestHeader("Content-Type","text/plain"),o.send(n),!0}catch(d){console&&console.warn&&console.warn("[Web Pixels Manager] Got an unhandled error while logging a load error.")}return!1}})})({shopId: 5332089,storefrontBaseUrl: "https://shopifypartnerblog.myshopify.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",surface: "storefront-renderer",enabledBetaFlags: [],webPixelsConfigList: [{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0220","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0220","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Shopify - Web Design and Development Blog","paymentSettings":{"currencyCode":"CAD"},"myshopifyDomain":"shopifypartnerblog.myshopify.com","countryCode":"CA","storefrontUrl":"https:\/\/shopifypartnerblog.myshopify.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"purchasingCompany":null},},function pageEvents(webPixelsManagerAPI) {webPixelsManagerAPI.publish("page_viewed", {});},"https://shopifypartnerblog.myshopify.com/cdn","1518c2ba4d2b3301a1e3cb6576947ef22edf7bb6","3c762e5aw5b983e43pc2dc4883m545d5a27",);</script> <script>window.ShopifyAnalytics = window.ShopifyAnalytics || {}; window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; window.ShopifyAnalytics.meta.currency = 'CAD'; var meta = {"page":{}}; for (var attr in meta) { window.ShopifyAnalytics.meta[attr] = meta[attr]; }</script> <script>window.ShopifyAnalytics.merchantGoogleAnalytics = function() { }; </script> <script class="analytics">(function () { var customDocumentWrite = function(content) { var jquery = null; if (window.jQuery) { jquery = window.jQuery; } else if (window.Checkout && window.Checkout.$) { jquery = window.Checkout.$; } if (jquery) { jquery('body').append(content); } }; var hasLoggedConversion = function(token) { if (token) { return document.cookie.indexOf('loggedConversion=' + token) !== -1; } return false; } var setCookieIfConversion = function(token) { if (token) { var twoMonthsFromNow = new Date(Date.now()); twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; } } var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; if (trekkie.integrations) { return; } trekkie.methods = [ 'identify', 'page', 'ready', 'track', 'trackForm', 'trackLink' ]; trekkie.factory = function(method) { return function() { var args = Array.prototype.slice.call(arguments); args.unshift(method); trekkie.push(args); return trekkie; }; }; for (var i = 0; i < trekkie.methods.length; i++) { var key = trekkie.methods[i]; trekkie[key] = trekkie.factory(key); } trekkie.load = function(config) { trekkie.config = config || {}; trekkie.config.initialDocumentCookie = document.cookie; var first = document.getElementsByTagName('script')[0]; var script = document.createElement('script'); script.type = 'text/javascript'; script.onerror = function(e) { var scriptFallback = document.createElement('script'); scriptFallback.type = 'text/javascript'; scriptFallback.onerror = function(error) { var Monorail = { produce: function produce(monorailDomain, schemaId, payload) { var currentMs = new Date().getTime(); var event = { schema_id: schemaId, payload: payload, metadata: { event_created_at_ms: currentMs, event_sent_at_ms: currentMs } }; return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); }, sendRequest: function sendRequest(endpointUrl, payload) { // Try the sendBeacon API if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { var blobData = new window.Blob([payload], { type: 'text/plain' }); if (window.navigator.sendBeacon(endpointUrl, blobData)) { return true; } // sendBeacon was not successful } // XHR beacon var xhr = new XMLHttpRequest(); try { xhr.open('POST', endpointUrl); xhr.setRequestHeader('Content-Type', 'text/plain'); xhr.send(payload); } catch (e) { console.log(e); } return false; }, isIos12: function isIos12() { return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; } }; Monorail.produce('monorail-edge.shopifysvc.com', 'trekkie_storefront_load_errors/1.1', {shop_id: 5332089, theme_id: 40582905912, app_name: "storefront", context_url: window.location.href, source_url: "//shopifypartnerblog.myshopify.com/cdn/s/trekkie.storefront.20de3b35f21c3bd6ff73e3f1547eb7d54e6e94e4.min.js"}); }; scriptFallback.async = true; scriptFallback.src = '//shopifypartnerblog.myshopify.com/cdn/s/trekkie.storefront.20de3b35f21c3bd6ff73e3f1547eb7d54e6e94e4.min.js'; first.parentNode.insertBefore(scriptFallback, first); }; script.async = true; script.src = '//shopifypartnerblog.myshopify.com/cdn/s/trekkie.storefront.20de3b35f21c3bd6ff73e3f1547eb7d54e6e94e4.min.js'; first.parentNode.insertBefore(script, first); }; trekkie.load( {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":5332089,"isMerchantRequest":null,"themeId":40582905912,"themeCityHash":"16426504514730591227","contentLanguage":"en","currency":"CAD"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain"},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} ); var loaded = false; trekkie.ready(function() { if (loaded) return; loaded = true; window.ShopifyAnalytics.lib = window.trekkie; var originalDocumentWrite = document.write; document.write = customDocumentWrite; try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; document.write = originalDocumentWrite; window.ShopifyAnalytics.lib.page(null,{}); var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) var token = match? match[1]: undefined; if (!hasLoggedConversion(token)) { setCookieIfConversion(token); } }); var eventsListenerScript = document.createElement('script'); eventsListenerScript.async = true; eventsListenerScript.src = "//shopifypartnerblog.myshopify.com/cdn/shopifycloud/shopify/assets/shop_events_listener-61fa9e0a912c675e178777d2b27f6cbd482f8912a6b0aa31fa3515985a8cd626.js"; document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); })();</script> <script class="boomerang"> (function () { window.BOOMR = window.BOOMR || {}; window.BOOMR.themeName = ""; window.BOOMR.themeVersion = ""; window.BOOMR.shopId = 5332089; window.BOOMR.themeId = 40582905912; })();</script> <script defer src="https://shopifypartnerblog.myshopify.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-1.0.2.min.js" data-application="storefront-renderer" data-shop-id="5332089" data-render-region="gcp-asia-southeast1" data-page-type="404" data-theme-instance-id="40582905912" data-monorail-region="shop_domain" data-resource-timing-sampling-rate="10" ></script> </head> <body id="" class="segment-everywhere page--has-secondary-nav blog" data-ga-category='Partners Blog '> <div class="signup-form-wrapper signup--hidden" data-define="{form_hidden: new ShopifyMarketing.SignupForm(this)}"> <form class="marketing-form signup-form stateful-form" novalidate="novalidate" autocomplete="off" data-namespace="form_hidden" data-hidden-fields-namespace="hiddenFields_hidden" data-bind-event-submit="form_hidden.handleSubmit(this, event)" action="https://app.shopify.com/services/signup/setup" accept-charset="UTF-8" method="post"> <input name="utf8" type="hidden" value="✓"> <div class="" data-define="{email_hidden: new ShopifyMarketing.StatefulField( 'email', form_hidden, this, { required: true, validate: true, showError: true } )}"> <div data-context="email_hidden"> <label class="marketing-input-wrapper email" data-bind-class="{ 'js-has-error': state.error, 'js-is-filled': state.filled || state.value.length > 0 }"> <span class="marketing-label marketing-label--in-field marketing-label--floating"> Email address </span> <input type="email" autocomplete="off" data-bind="state.value" data-bind-event-focus="handleFocus()" data-bind-event-blur="ShopifyMarketing.context.form_hidden.handleFieldBlur(ShopifyMarketing.context.email_hidden)" class="marketing-input marketing-input--floating" placeholder="Email address" name="signup[email]" id="hidden_signup_email"> <span class="marketing-form__messages"> <span class="error hide" data-bind="displayError()" data-bind-show="state.error == true"></span> </span> </label> </div> </div> <div class="" data-define="{password_hidden: new ShopifyMarketing.StatefulField( 'password', form_hidden, this, { required: true, validate: true, showError: true } )}"> <div data-context="password_hidden"> <label class="marketing-input-wrapper password" data-bind-class="{ 'js-has-error': state.error, 'js-is-filled': state.filled || state.value.length > 0 }"> <span class="marketing-label marketing-label--in-field marketing-label--floating"> Password </span> <input type="password" autocomplete="off" data-bind="state.value" data-bind-event-focus="handleFocus()" data-bind-event-blur="ShopifyMarketing.context.form_hidden.handleFieldBlur(ShopifyMarketing.context.password_hidden)" class="marketing-input marketing-input--floating" placeholder="Password" name="signup[password]" id="hidden_signup_password"> <span class="marketing-form__messages"> <span data-bind="displayError()" data-bind-show="state.error == true" class="error hide"></span> </span> </label> </div> </div> <div class=" shop-name" data-define="{shop_name_hidden: new ShopifyMarketing.StatefulField( 'shop_name', form_hidden, this, { required: true, validate: true, showError: true } )}"> <div data-context="shop_name_hidden"> <label class="marketing-input-wrapper shop_name" data-bind-class="{ 'js-has-error': state.error == true, 'js-is-pending': state.pending == true, 'js-has-detail': state.error && state.errors.existingAdmin, 'js-is-filled': state.filled == true || state.value.length > 0, }"> <span class="marketing-label marketing-label--in-field marketing-label--floating"> Your store name </span> <input autocomplete="off" data-bind="state.value" data-bind-event-focus="handleFocus()" data-bind-event-blur="ShopifyMarketing.context.form_hidden.handleFieldBlur(ShopifyMarketing.context.shop_name_hidden)" data-bind-event-keyup="ShopifyMarketing.context.form_hidden.handleFieldKeyup(event, ShopifyMarketing.context.shop_name_hidden)", class="marketing-input marketing-input--floating" placeholder="Your store name" type="text" name="signup[shop_name]" id="hidden_signup_shop_name"> <span class="marketing-form__messages"> <span data-bind="displayError()" data-bind-unsafe-html="displayError()" data-bind-show="state.error == true && state.pending == false" class="error hide"></span> </span> </label> </div> </div> <div data-define="{hiddenFields_hidden: new ShopifyMarketing.HiddenFields({ source: '', signup_code: '', signup_types: [], theme: '' }, this)}"> <div data-context="hiddenFields_hidden"> <input type="hidden" name="ref" value=""> <input type="hidden" name="language" value="en"> <input type="hidden" name="country" value="com"> <input type="hidden" name="_y" data-bind="fields.y"> <input type="hidden" name="forwarded_host" data-bind="fields.forwarded_host" value=""> <input type="hidden" name="ssid" data-bind="fields.ssid"> <input type="hidden" name="source" data-bind="fields.source" value=""> <input type="hidden" name="signup_code" data-bind="fields.signup_code"> <input type="hidden" name="signup_types[]" data-bind-disabled="fields.signup_types" data-bind="fields.signup_type"> <input type="hidden" name="extra[selected_theme]" data-bind="fields.theme"> </div> </div> <div class=""> <button name="button" type="submit" data-bind-disabled="form_hidden.pending == true" class="marketing-button marketing-form__button "> Create your store </button> </div> </form> </div> <div id="SiteContainer"> <div id="SiteNavContainer" role="banner"> <div class="marketing-nav-wrapper"> <nav class="marketing-nav marketing-nav__primary" id="ShopifyMainNav" itemscope="itemscope" itemtype="https://schema.org/SiteNavigationElement" role="navigation" aria-label="Main Navigation"> <a class="in-page-link skip-to-main visuallyhidden focusable" data-ga-action="Skip to content" data-ga-event="Main Nav" href="#Main">Skip to Content</a> <button type="button" class="marketing-nav__hamburger hide--desktop js-drawer-open-right" aria-controls="NavDrawer" aria-expanded="false"> <span class="visuallyhidden">Open Main Navigation</span> </button> <div class="marketing-nav__logo"> <a class="marketing-nav__logo__shopify--partners marketing-nav__logo__shopify" href="https://www.shopify.com/partners" data-ga-event="Main Nav" data-ga-action="Logo"> <span class="visuallyhidden">Home</span> </a> </div> <ul class="marketing-nav__items display--desktop"> <li> <a class="marketing-nav__item marketing-nav__item--primary active" itemprop="name" href="https://www.shopify.com/partners/blog"> Blog </a> </li> <li> <a class="marketing-nav__item marketing-nav__item--primary " itemprop="name" href="https://docs.shopify.com/partners"> Docs </a> </li> <li> <a class="marketing-nav__item marketing-nav__item--primary " itemprop="name" href="https://shopify.com/partners/perks"> Partner Perks </a> </li> <li> <a class="marketing-nav__item marketing-nav__item--primary " itemprop="name" href="https://www.shopify.com/partners/academy"> Partner Academy </a> </li> </ul> <ul class="marketing-nav__items marketing-nav__user display--desktop"> <li> <a class="marketing-nav__item marketing-nav__item--user" itemprop="name" href="https://www.shopify.com"> shopify.com <span class="marketing-nav__external-indicator" aria-hidden="true"></span> </a> </li> <li> <a class="marketing-nav__item marketing-nav__item--user" href="https://partners.shopify.com/organizations/">Partner login</a> </li> <li> <a class="marketing-button marketing-nav__button" data-ga-event='Partners Blog ' data-ga-action='Join now' data-ga-label='Nav: 404 Not Found' data-fb-event="PartnerJoinNow" href="https://partners.shopify.com/signup"> Join now </a> </li> </ul> </nav> <nav class="marketing-nav marketing-nav__secondary marketing-nav__secondary--with-search" role="navigation" aria-label="Section Navigation"> <button type="button" id="ShopifyNavMobileSelect" class="heading--4 marketing-nav__secondary__button display--mobile gutter-bottom--reset" aria-label="Toggle Section Navigation" aria-controls="ShopifySubNavList" aria-expanded="false"> <span class="marketing-nav__secondary__action">Articles</span> <span class="marketing-nav__arrow" aria-hidden="true"></span> </button> <ul id="ShopifySubNavList" class="marketing-nav__items"> <li> <a class="marketing-nav__item marketing-nav__item--secondary" itemprop="name" href="/partners/blog"> Articles </a> </li> <li> <a class="marketing-nav__item marketing-nav__item--secondary" itemprop="name" href="/partners/guides"> Guides </a> </li> <li> <a class="marketing-nav__item marketing-nav__item--secondary" itemprop="name" href="/partners/blog/partner-webinars"> Webinars </a> </li> <li> <a class="marketing-nav__item marketing-nav__item--secondary" itemprop="name" href="http://meetups.shopify.com"> Events </a> </li> <li> <a class="marketing-nav__item marketing-nav__item--secondary" itemprop="name" href="/partners/tools"> Tools </a> </li> <li> <a class="marketing-nav__item marketing-nav__item--secondary" itemprop="name" href="/partners/blog/topics/shopify-tutorials"> Shopify Tutorials </a> </li> </ul> </nav> </div> <div id="NavDrawer" class="drawer drawer--right"> <div class="drawer__inner"> <div class="drawer__top"> <div class="marketing-nav__logo"> <a class="marketing-nav__logo__shopify--partners marketing-nav__logo__shopify" href="https://www.shopify.com/partners" data-ga-event="Partners Blog " data-ga-action="Logo" data-ga-label="Nav"> <span class="visuallyhidden">Home</span> </a> </div> <button type="button" class="drawer__close-button js-drawer-close" aria-controls="NavDrawer" aria-expanded="true"> <span class="visuallyhidden">Close Main Navigation</span> </button> </div> <nav role="navigation" aria-label="Main Navigation"> <ul class="drawer__items drawer__items--primary" id="DrawerNavPrimaryAccordion"> <li> <a class="drawer__item drawer__item--primary " href="https://www.shopify.com/partners/blog">Blog</a> </li> <li> <a class="drawer__item drawer__item--primary " href="https://docs.shopify.com/partners">Docs</a> </li> <li> <a class="drawer__item drawer__item--primary " href="https://shopify.com/partners/perks">Partner Perks</a> </li> <li> <a class="drawer__item drawer__item--primary " href="https://www.shopify.com/partners/academy">Partner Academy</a> </li> </ul> <ul class="drawer__items drawer__items--user"> <li> <a class="drawer__item" href="https://www.shopify.com"> shopify.com <span class="marketing-nav__external-indicator" aria-hidden="true"></span> </a> </li> <li> <a class="drawer__item" href="https://partners.shopify.com/organizations/">Partner login</a> </li> <li> <a class="drawer__item drawer__item--signup" data-ga-event="Partners Blog " data-ga-action="Join now" data-ga-label="Nav: 404 Not Found" href="https://partners.shopify.com/signup/">Join now</a> </li> </ul> <ul class="drawer__items drawer__items--corporate"> <li> <a class="drawer__item" href="/about"> About </a> </li> <li> <a class="drawer__item" href="/careers"> Careers </a> </li> <li> <a class="drawer__item" href="https://www.shopify.com/press"> Press and Media </a> </li> <li> <a class="drawer__item" href="/plus"> Enterprise <span class="marketing-nav__external-indicator" aria-hidden="true"></span> </a> </li> <li> <a class="drawer__item" href="/sitemap"> Sitemap </a> </li> </ul> </nav> </div> </div> </div> <div id="PageContainer" class="page-container"> <main role="main" id="Main"> <div class="section section--tight"> <div class="page-width page-width--fluid"> <div class="grid-container"> <section class='grid-item grid-content-7 grid-content--tablet-10 site-content'> <div class="page--error"> <p><span class="icon"></span></p> <p> Oops! Something has gone wrong and the page you were looking for could not be found! Try the <a href='//shopify.com/blog'>home page</a>. </p> </div> </section> <aside class="grid-item grid-content-3 grid--last site-sidebar"> <div class="display--desktop"> <form class="search-form" action='/partners/blog/search'> <label class="marketing-input-wrapper"> <span class="marketing-label marketing-label--hidden visuallyhidden"> Search articles </span> <input class="search-form__input marketing-input" id="SearchInput" name="q" placeholder="Search articles" type="search"> </label> <button type="submit" class="search-form__submit"> <span class="visuallyhidden">Search</span> </button> </form> </div> <div class="subscribe subscribe--centered gutter-bottom js-subscribe js-subscribe-sidebar subscribe--sidebar display--desktop background-lowlight marketing-block--padded"> <div class="subscribe__content-wrapper"> <div class="subscribe__content"> <i class="icon icon--size-small icon-blog-updates-primary"></i> <h3 class="subscribe__heading text-white"> Let’s grow your freelance or agency business. </h3> <p class="txt--minor subscribe__subhead gutter-bottom--half text-white"> Get design inspiration, practical takeaways and free resources to help you find and delight clients. </p> <form action="https://www.shopify.com/content-services/subscribers" method="post" class="subscribe__form gutter-bottom--half subscribe__form--narrow" data-ga-category="Partners Blog " novalidate> <label class="marketing-input-wrapper"> <span class="marketing-label marketing-label--in-field marketing-label--floating">Email Address</span> <input type="email" name="email" placeholder="Email Address" class="marketing-input marketing-input--floating subscribe__email"> <span class="marketing-form__messages"></span> </label> <button type="submit" class="marketing-button marketing-form__button subscribe__submit marketing-button--block" data-ga-event="Partners Blog " data-ga-action="Subscribe" data-ga-label="Sidebar: 404 Not Found"> Get updates </button> <input name="data_extension_key" type="hidden" value="54E0A75F-87E6-4862-A78C-C58EE3DBD071"> </form> <div class="subscribe__disclaimer txt--minor text-white">No charge. Unsubscribe anytime.</div> </div> <div class="subscribe__success"> <h3 class="subscribe__heading text-white"> Thanks for subscribing </h3> <p class="gutter-bottom--half text-white"> You’ll start receiving free tips and resources soon. In the meantime, find out how Shopify’s Partner Program can help you grow your business. </p> <p class="gutter-bottom--reset"> <a href="https://www.shopify.com/partners" class="marketing-button marketing-button--small"> Learn more </a> </p> </div> </div> </div> <div class="sidebar-banner gutter-bottom display--desktop"> <div id="div-gpt-ad-1480706867753-0" class="js-dfp-node" data-dfp-category="partners" data-dfp-id="1480706867753-0"></div> </div> <div class='sidebar-signup subscribe page-block--lowlight subscribe--sidebar'> <h4 class="color-white"> Shopify is everything you need to sell anywhere </h4> <p class="color-white subscribe__heading heading--3 sidebar-signup__subhead"> Start your free 14-day trial today! </p> <div class="signup-form-wrapper " data-define="{form_sidebar: new ShopifyMarketing.SignupForm(this)}"> <form class="marketing-form signup-form stateful-form" novalidate="novalidate" autocomplete="off" data-namespace="form_sidebar" data-hidden-fields-namespace="hiddenFields_sidebar" data-bind-event-submit="form_sidebar.handleSubmit(this, event)" action="https://app.shopify.com/services/signup/setup" accept-charset="UTF-8" method="post"> <input name="utf8" type="hidden" value="✓"> <div class="" data-define="{email_sidebar: new ShopifyMarketing.StatefulField( 'email', form_sidebar, this, { required: true, validate: true, showError: true } )}"> <div data-context="email_sidebar"> <label class="marketing-input-wrapper email" data-bind-class="{ 'js-has-error': state.error, 'js-is-filled': state.filled || state.value.length > 0 }"> <span class="marketing-label marketing-label--in-field marketing-label--floating"> Email address </span> <input type="email" autocomplete="off" data-bind="state.value" data-bind-event-focus="handleFocus()" data-bind-event-blur="ShopifyMarketing.context.form_sidebar.handleFieldBlur(ShopifyMarketing.context.email_sidebar)" class="marketing-input marketing-input--floating" placeholder="Email address" name="signup[email]" id="sidebar_signup_email"> <span class="marketing-form__messages"> <span class="error hide" data-bind="displayError()" data-bind-show="state.error == true"></span> </span> </label> </div> </div> <div class="" data-define="{password_sidebar: new ShopifyMarketing.StatefulField( 'password', form_sidebar, this, { required: true, validate: true, showError: true } )}"> <div data-context="password_sidebar"> <label class="marketing-input-wrapper password" data-bind-class="{ 'js-has-error': state.error, 'js-is-filled': state.filled || state.value.length > 0 }"> <span class="marketing-label marketing-label--in-field marketing-label--floating"> Password </span> <input type="password" autocomplete="off" data-bind="state.value" data-bind-event-focus="handleFocus()" data-bind-event-blur="ShopifyMarketing.context.form_sidebar.handleFieldBlur(ShopifyMarketing.context.password_sidebar)" class="marketing-input marketing-input--floating" placeholder="Password" name="signup[password]" id="sidebar_signup_password"> <span class="marketing-form__messages"> <span data-bind="displayError()" data-bind-show="state.error == true" class="error hide"></span> </span> </label> </div> </div> <div class=" shop-name" data-define="{shop_name_sidebar: new ShopifyMarketing.StatefulField( 'shop_name', form_sidebar, this, { required: true, validate: true, showError: true } )}"> <div data-context="shop_name_sidebar"> <label class="marketing-input-wrapper shop_name" data-bind-class="{ 'js-has-error': state.error == true, 'js-is-pending': state.pending == true, 'js-has-detail': state.error && state.errors.existingAdmin, 'js-is-filled': state.filled == true || state.value.length > 0, }"> <span class="marketing-label marketing-label--in-field marketing-label--floating"> Your store name </span> <input autocomplete="off" data-bind="state.value" data-bind-event-focus="handleFocus()" data-bind-event-blur="ShopifyMarketing.context.form_sidebar.handleFieldBlur(ShopifyMarketing.context.shop_name_sidebar)" data-bind-event-keyup="ShopifyMarketing.context.form_sidebar.handleFieldKeyup(event, ShopifyMarketing.context.shop_name_sidebar)", class="marketing-input marketing-input--floating" placeholder="Your store name" type="text" name="signup[shop_name]" id="sidebar_signup_shop_name"> <span class="marketing-form__messages"> <span data-bind="displayError()" data-bind-unsafe-html="displayError()" data-bind-show="state.error == true && state.pending == false" class="error hide"></span> </span> </label> </div> </div> <div data-define="{hiddenFields_sidebar: new ShopifyMarketing.HiddenFields({ source: '', signup_code: '', signup_types: [], theme: '' }, this)}"> <div data-context="hiddenFields_sidebar"> <input type="hidden" name="ref" value=""> <input type="hidden" name="language" value="en"> <input type="hidden" name="country" value="com"> <input type="hidden" name="_y" data-bind="fields.y"> <input type="hidden" name="forwarded_host" data-bind="fields.forwarded_host" value=""> <input type="hidden" name="ssid" data-bind="fields.ssid"> <input type="hidden" name="source" data-bind="fields.source" value=""> <input type="hidden" name="signup_code" data-bind="fields.signup_code"> <input type="hidden" name="signup_types[]" data-bind-disabled="fields.signup_types" data-bind="fields.signup_type"> <input type="hidden" name="extra[selected_theme]" data-bind="fields.theme"> </div> </div> <div class=""> <button name="button" type="submit" data-bind-disabled="form_sidebar.pending == true" class="marketing-button marketing-form__button marketing-button--block"> Create your store </button> </div> </form> </div> </div> <div id="SidebarAccordion"> <div class='preview-links preview-links--description accordion-item--mobile'> <h3 class='heading--5'> <button class="heading-icon accordion-link"> <i class='icon icon--tiny icon-resources-primary'></i> Resources </button> </h3> <div class="accordion-content"> <div class="dfp-resource" id='div-gpt-ad-2'> </div> <div class="dfp-resource" id='div-gpt-ad-3'> </div> <a href='https://www.shopify.com/partners/blog/topics/web-design'> <h4 class="link__title">Web Design</h4> <p class='txt--minor'>Industry insights for web designers</p> </a> <a href='https://www.shopify.com/partners/blog/topics/finding-new-clients'> <h4 class="link__title">Finding New Clients</h4> <p class='txt--minor'>How to market yourself and land new work</p> </a> <a href='https://www.shopify.com/partners/blog/topics/working-with-clients'> <h4 class="link__title">Working With Clients</h4> <p class='txt--minor'>Tips for delighting and retaining clients</p> </a> <a href='https://www.shopify.com/partners/blog/topics/getting-paid'> <h4 class="link__title">Getting Paid</h4> <p class='txt--minor'>Pricing and payments tips for your business</p> </a> <a href='https://www.shopify.com/partners/blog/topics/freelancing'> <h4 class="link__title">Freelancing</h4> <p class='txt--minor'>Advice for becoming your own boss</p> </a> <a href='https://www.shopify.com/partners/blog/topics/inspiration-creativity'> <h4 class="link__title">Inspiration & Creativity</h4> <p class='txt--minor'>Everything you need to push creative boundaries</p> </a> <a href='http://www.shopify.com/partners/blog/topics/case-studies'> <h4 class="link__title">Case Studies</h4> <p class='txt--minor'>Success stories of those who build on Shopify</p> </a> <a href='https://www.shopify.com/partners/blog/topics/shopify-theme-development'> <h4 class="link__title">Shopify Theme Development</h4> <p class='txt--minor'> Your guide to Liquid and theme development</p> </a> <a href='https://www.shopify.com/partners/blog/topics/shopify-app-development'> <h4 class="link__title">Shopify App Development</h4> <p class='txt--minor'> Tips and tricks for building Shopify Apps</p> </a> <a href='https://www.shopify.com/partners/blog/topics/affiliate-marketing'> <h4 class="link__title">Affiliate Marketing</h4> <p class='txt--minor'> Your guide to the world of affiliate marketing</p> </a> </div> </div> <div class='preview-links preview-links--description accordion-item--mobile'> <h3 class='heading--5'> <button class="heading-icon accordion-link"> <i class='icon icon--tiny icon-popular-primary'></i> Popular </button> </h3> <div class="accordion-content"> <div class="dfp-popular" id='div-gpt-ad-5'></div> <div class="dfp-popular" id='div-gpt-ad-6'></div> <a href='https://www.shopify.com/partners/blog/building-a-shopify-app-in-one-week'> <h4 class='link__title'>How to Build a Shopify App in One Week</h4> </a> <a href='https://www.shopify.com/partners/blog/finding-web-design-clients'> <h4 class='link__title'>The Ultimate Guide to Finding Web Design Clients</h4> </a> <a href='https://www.shopify.com/partners/blog/shopify-affiliates'> <h4 class='link__title'>Affiliates 101: What is the Shopify Affiliate Program and How Can You Successfully Apply</h4> </a> <a href='https://www.shopify.com/partners/blog/115244038-an-overview-of-liquid-shopifys-templating-language'> <h4 class='link__title'>An Overview of Liquid: Shopify's Templating Language</h4> </a> <a href='https://www.shopify.com/partners/blog/62745923-5-of-the-best-prototyping-tools-to-test-out-your-web-and-mobile-designs'> <h4 class='link__title'>5 of the Best Prototyping Tools to Test Out Your Web and Mobile Designs</h4> </a> <a href='https://www.shopify.com/partners/blog/how-to-market-an-app'> <h4 class='link__title'>Essential App Marketing: 11 Ways to Successfully Promote Your App</h4> </a> <a href='https://www.shopify.com/partners/blog/109078214-3-organizational-strategies-to-prevent-scope-creep'> <h4 class='link__title'>3 Organizational Strategies to Prevent Scope Creep</h4> </a> <a href='https://www.shopify.com/partners/blog/what-is-affiliate-marketing'> <h4 class='link__title'>What is Affiliate Marketing? The Myth vs. Reality</h4> </a> <a href='https://www.shopify.com/partners/blog/79940998-15-funny-lorem-ipsum-generators-to-shake-up-your-design-mockups'> <h4 class='link__title'>15 Funny Lorem Ipsum Generators to Shake Up Your Design Mockups</h4> </a> <a href='https://www.shopify.com/partners/blog/building-shopify-apps'> <h4 class='link__title'>Building Shopify Apps: App Developers Share Their Experiences</h4> </a> <a href='https://www.shopify.com/partners/blog/sublime-text-plugins-2018'> <h4 class='link__title'>The 25 Best Sublime Text Plugins for Front End Developers</h4> </a> </div> </div> </div> </aside> </div> </div> </div> <section class="section-block section-block--light section-block--border-top text-center"> <h2 class="marketing-form--inline__heading">Grow your business with the Shopify Partner Program</h2> <a href="/partners" class="marketing-button" data-ga-event="Partners Blog" data-ga-action="Footer CTA: learn more" data-ga-label="Page: 404 Not Found"> Learn more </a> </section> </main> <footer id="ShopifyMainFooter" role="contentinfo" class="footer--main"> <div class="footer-top"> <div class="grid"> <div class="grid__inner"> <div class="grid__item"> <div class="footer-nav"> <a href="/about">About</a> <a href="/careers">Careers</a> <a href="https://www.shopify.com/press">Press and Media</a> <a href="/plus">Enterprise</a> <a href="/sitemap">Sitemap</a> </div> </div> <div class="grid__item grid__item--tablet-up-1 hide--mobile"> <h3 class="footer-heading heading--5">Online store</h3> <a class="footer-link" href="/online">Sell online</a> <a class="footer-link" href="/online/ecommerce-solutions">Features</a> <a class="footer-link" href="/examples">Examples</a> <a class="footer-link" href="/website">Website editor</a> <a class="footer-link" href="/tour">Online retail</a> </div> <div class="grid__item grid__item--tablet-up-1 hide--mobile footer-column--nameless"> <a class="footer-link" href="/tour/ecommerce-website">Ecommerce website</a> <a class="footer-link" href="/domains">Domain Names</a> <a class="footer-link" href="/tour/website-design">Themes</a> <a class="footer-link" href="/tour/shopping-cart">Shopping cart</a> <a class="footer-link" href="/tour/ecommerce-hosting">Ecommerce hosting</a> </div> <div class="grid__item grid__item--tablet-up-1 hide--mobile footer-column--nameless"> <a class="footer-link" href="/mobile">Mobile commerce</a> <a class="footer-link" href="">Ecommerce software</a> <a class="footer-link" href="/online-store">Online store builder</a> <a class="footer-link" href="/oberlo">Dropshipping</a> </div> <div class="grid__item grid__item--tablet-up-1 hide--mobile"> <h3 class="footer-heading heading--5">Point of sale</h3> <a class="footer-link" href="/pos">Point of sale</a> <a class="footer-link" href="/pos/features">Features</a> <a class="footer-link" href="/pos/hardware">Hardware</a> <a class="footer-link" href="/pos/software">POS software</a> </div> <div class="grid__item grid__item--mobile-up-half grid__item--tablet-up-1"> <h3 class="footer-heading heading--5">Support</h3> <a class="footer-link" href="https://support.shopify.com">24/7 Support</a> <a class="footer-link" href="https://help.shopify.com">Shopify Help Center</a> <a class="footer-link" href="https://ecommerce.shopify.com/forums">Forums</a> <a class="footer-link" href="https://help.shopify.com/api">API Documentation</a> <a class="footer-link" href="/tools">Free tools</a> <a class="footer-link" href="https://burst.shopify.com/">Free stock photos</a> <a class="footer-link" href="https://exchangemarketplace.com/">Websites for sale</a> </div> <div class="grid__item grid__item--mobile-up-half grid__item--tablet-up-1"> <h3 class="footer-heading heading--5">Shopify</h3> <a class="footer-link" href="/contact">Contact</a> <a class="footer-link" href="/partners">Partner program</a> <a class="footer-link" href="/affiliates">Affiliate program</a> <a class="footer-link" href="https://developers.shopify.com">App developers</a> <a class="footer-link" href="https://investors.shopify.com">Investors</a> <a class="footer-link" href="/blog/topics">Blog topics</a> </div> </div> </div> </div> <div class="footer-bottom"> <div class="grid"> <div class="grid__inner"> <div class="grid__item grid__item--tablet-up-2 footer-bottom__social text-center--mobile"> <div class="footer-bottom-item footer-bottom__social"> <a class="footer-link footer-social__icon icon icon-social-facebook" data-ga-action="Facebook" data-ga-event="Social" data-ga-label="Footer" href="https://www.facebook.com/Shopify" rel="nofollow noopener noreferrer" target="_blank"> <span class="visuallyhidden">Facebook</span> </a> <a class="footer-link footer-social__icon icon icon-social-twitter" data-ga-action="Twitter" data-ga-event="Social" data-ga-label="Footer" href="https://www.twitter.com/shopify" rel="nofollow noopener noreferrer" target="_blank"> <span class="visuallyhidden">Twitter</span> </a> <a class="footer-link footer-social__icon icon icon-social-youtube" data-ga-action="Youtube" data-ga-event="Social" data-ga-label="Footer" href="https://www.youtube.com/user/shopify" rel="nofollow noopener noreferrer" target="_blank"> <span class="visuallyhidden">YouTube</span> </a> <a class="footer-link footer-social__icon icon icon-social-instagram" data-ga-action="Instagram" data-ga-event="Social" data-ga-label="Footer" href="https://www.instagram.com/shopify" rel="nofollow noopener noreferrer" target="_blank"> <span class="visuallyhidden">Instagram</span> </a> <a class="footer-link footer-social__icon icon icon-social-linkedin" data-ga-event="Social" data-ga-action="LinkedIn" data-ga-label="Footer" href="https://www.linkedin.com/company/shopify"> <span class="visuallyhidden">LinkedIn</span> </a> <a class="footer-link footer-social__icon icon icon-social-pinterest" data-ga-event="Social" data-ga-action="Pinterest" data-ga-label="Footer" href="https://www.pinterest.com/shopify"> <span class="visuallyhidden">Pinterest</span> </a> <a class="footer-link footer-social__icon icon icon-social-plus" data-ga-event="Social" data-ga-action="GooglePlus" data-ga-label="Footer" href="https://plus.google.com/+shopify"> <span class="visuallyhidden">Google Plus</span> </a> <a class="footer-link footer-social__icon icon icon-social-snapchat" data-ga-event="Social" data-ga-action="Snapchat" data-ga-label="Footer" href="https://www.snapchat.com/add/shopify"> <span class="visuallyhidden">Snapchat</span> </a> </div> </div> <div class="grid__item grid__item--tablet-up-4 footer-bottom__links text-center--mobile text-right--tablet-up"> <a href="https://www.shopify.com/legal/terms" target="_blank">Terms of Service</a> <a href="https://www.shopify.com/legal/privacy" target="_blank">Privacy Policy</a> </div> </div> </div> </div> </div> </footer> </div> </div> <script src="//shopifypartnerblog.myshopify.com/cdn/shop/t/494/assets/application.js?v=38154284132282892421571928995" type="text/javascript"></script> <script src="//shopifypartnerblog.myshopify.com/cdn/shop/t/494/assets/partner.js?v=37681573828593340231571929001" type="text/javascript"></script> <script> // Correct old comment form URL $(function () { var $commentForm = $('.comment-form'); var commentFormAction = $commentForm.attr('action'); if ($commentForm.length) { $commentForm.attr('action', commentFormAction.replace('/blogs/blog', '/partners/blog')); } }); </script> <script type='text/javascript'> var _sf_async_config={}; /** CONFIGURATION START **/ _sf_async_config.uid = 61387; _sf_async_config.domain = 'shopify.com'; _sf_async_config.useCanonical = true; _sf_async_config.sections = 'Partners blog'; /** CONFIGURATION END **/ (function(){ function loadChartbeat() { window._sf_endpt=(new Date()).getTime(); var e = document.createElement('script'); e.setAttribute('language', 'javascript'); e.setAttribute('type', 'text/javascript'); e.setAttribute('src', '//static.chartbeat.com/js/chartbeat.js'); document.body.appendChild(e); } var oldonload = window.onload; window.onload = (typeof window.onload != 'function') ? loadChartbeat : function() { oldonload(); loadChartbeat(); }; })(); </script> </body> </html>