CINXE.COM
How to Build a Shopify App: The Complete Guide - Shopify Nigeria
<!DOCTYPE html><html lang="en-NG"><head><title>How to Build a Shopify App: The Complete Guide - Shopify Nigeria</title><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="description" content="How to Build a Shopify App is everything you need to know to build your first Shopify app. Learn the tools and insights you need to build a successful app."/><meta property="fb:pages" content="20409006880"/><meta property="fb:app_id" content="847460188612391"/><meta property="og:type" content="website"/><meta property="og:site_name" content="Shopify"/><meta property="og:title" content="How to Build a Shopify App: The Complete Guide - Shopify Nigeria"/><meta property="og:description" content="How to Build a Shopify App is everything you need to know to build your first Shopify app. Learn the tools and insights you need to build a successful app."/><meta property="og:image" content="https://cdn.shopify.com/s/files/1/0533/2089/articles/how-to-build-a-shopify-app.jpg?v=1727286002"/><meta property="twitter:image" content="https://cdn.shopify.com/s/files/1/0533/2089/articles/how-to-build-a-shopify-app.jpg?v=1727286002"/><meta property="og:url" content="https://www.shopify.com/ng/partners/blog/how-to-build-a-shopify-app"/><meta property="twitter:card" content="summary_large_image"/><meta property="twitter:site" content="Shopify"/><meta property="twitter:account_id" content="17136315"/><meta property="twitter:title" content="How to Build a Shopify App: The Complete Guide - Shopify Nigeria"/><meta property="twitter:description" content="How to Build a Shopify App is everything you need to know to build your first Shopify app. Learn the tools and insights you need to build a successful app."/><link rel="stylesheet" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/brochureV2-CQ9XkhP-.css"/><link rel="preload" as="font" crossorigin="anonymous" type="font/woff2" href="https://cdn.shopify.com/b/shopify-brochure2-assets/89441db4e03b73a31fb00b825b481bf3.woff2"/><link rel="stylesheet" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/blog-BpA3moL8.css"/><link rel="icon" href="https://cdn.shopify.com/shopifycloud/web/assets/v1/favicon-default-6cbad9de243dbae3.ico" type="image/x-icon"/><link rel="apple-touch-icon" href="https://cdn.shopify.com/b/shopify-brochure2-assets/c97c60ca19c64a8b5378d9f9e971f7bd.png"/><link rel="apple-touch-icon" sizes="120x120" href="https://cdn.shopify.com/b/shopify-brochure2-assets/c97c60ca19c64a8b5378d9f9e971f7bd.png"/><link rel="apple-touch-icon" sizes="114x114" href="https://cdn.shopify.com/b/shopify-brochure2-assets/b13486e5693b246af63c66ab047a6b6b.png"/><link rel="apple-touch-icon" sizes="72x72" href="https://cdn.shopify.com/b/shopify-brochure2-assets/8734d76c98437c8ae8a628bbeed3750a.png"/><link rel="apple-touch-icon" sizes="57x57" href="https://cdn.shopify.com/b/shopify-brochure2-assets/193f18e4855704ef1716dc0cd750c1ee.png"/><link rel="canonical" href="https://www.shopify.com/ng/partners/blog/how-to-build-a-shopify-app"/><link href="https://cdn.shopify.com" rel="preconnect"/><link href="https://gtm.shopify.com" rel="preconnect"/><link href="https://www.googletagmanager.com" rel="preconnect"/><link href="https://www.shopify.com/au/partners/blog/how-to-build-a-shopify-app" hrefLang="en-AU" rel="alternate"/><link href="https://www.shopify.com/ca/partners/blog/how-to-build-a-shopify-app" hrefLang="en-CA" rel="alternate"/><link href="https://www.shopify.com/hk-en/partners/blog/how-to-build-a-shopify-app" hrefLang="en-HK" rel="alternate"/><link href="https://www.shopify.com/in/partners/blog/how-to-build-a-shopify-app" hrefLang="en-IN" rel="alternate"/><link href="https://www.shopify.com/id/partners/blog/how-to-build-a-shopify-app" hrefLang="en-ID" rel="alternate"/><link href="https://www.shopify.com/ie/partners/blog/how-to-build-a-shopify-app" hrefLang="en-IE" rel="alternate"/><link href="https://www.shopify.com/my/partners/blog/how-to-build-a-shopify-app" hrefLang="en-MY" rel="alternate"/><link href="https://www.shopify.com/nz/partners/blog/how-to-build-a-shopify-app" hrefLang="en-NZ" rel="alternate"/><link href="https://www.shopify.com/ng/partners/blog/how-to-build-a-shopify-app" hrefLang="en-NG" rel="alternate"/><link href="https://www.shopify.com/ph/partners/blog/how-to-build-a-shopify-app" hrefLang="en-PH" rel="alternate"/><link href="https://www.shopify.com/sg/partners/blog/how-to-build-a-shopify-app" hrefLang="en-SG" rel="alternate"/><link href="https://www.shopify.com/za/partners/blog/how-to-build-a-shopify-app" hrefLang="en-ZA" rel="alternate"/><link href="https://www.shopify.com/uk/partners/blog/how-to-build-a-shopify-app" hrefLang="en-GB" rel="alternate"/><link href="https://www.shopify.com/partners/blog/how-to-build-a-shopify-app" hrefLang="en" rel="alternate"/></head><body class="overscroll-y-none"><div class="absolute top-2 left-2 z-[100] pointer-events-none"><a href="#main" class="inline-block self-center overflow-hidden max-w-full px-button-px py-button-py ring-inset rounded-button text-button-size font-button-font font-button-weight tracking-button-tracking focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-state-focus focus-visible:outline border-2 text-button-dark-primary-text bg-button-dark-primary-bg border-button-dark-primary-border ring-button-dark-primary-border hover:text-button-dark-primary-text-hover hover:bg-button-dark-primary-bg-hover hover:border-button-dark-primary-border-hover hover:ring-button-dark-primary-border-hover focus:text-button-dark-primary-text-focus focus:bg-button-dark-primary-bg-focus focus:border-button-dark-primary-border-focus focus:ring-button-dark-primary-border-focus active:text-button-dark-primary-text-active active:bg-button-dark-primary-bg-active active:border-button-dark-primary-border-active active:ring-button-dark-primary-border-active disabled:text-button-dark-primary-text-disabled disabled:bg-button-dark-primary-bg-disabled disabled:border-button-dark-primary-border-disabled disabled:ring-button-dark-primary-border-disabled transition-transform duration-300 translate-y-[-200%] motion-reduce:transition-none focus:translate-y-0" data-component-name="button" data-mode="dark" target="">Skip to Content</a></div><div class="relative"><header class="font-shopifysans absolute h-full w-full pointer-events-none z-50" data-component-name="global-nav" data-viewable-component="true" data-has-secondary-navigation="true"><div class="after:absolute after:top-0 after:left-0 after:will-change-[opacity] after:pointer-events-none after:h-full after:w-full after:z-10 after:transition-opacity after:duration-200 w-full z-50 after:bg-white text-black after:opacity-100 -top-global-header pointer-events-auto sticky"><div class="h-global-header px-margin xl:px-auto-xl flex items-center z-20 relative"><div class="w-[150px] sm:w-[217px] mt-0 sm:mr-12 shrink-0"><a href="/ng/partners" data-component-name="partners-logo" aria-label="Shopify partners logo"><svg viewBox="0 0 200 32" fill="none" xmlns="http://www.w3.org/2000/svg" class="max-w-full"><path d="M117.923 31.189H116.694L119.399 17.2375C119.699 15.6754 119.918 14.221 120.109 12.9282H121.284L120.847 15.7023H120.902C122.158 13.79 123.989 12.6319 125.929 12.6319C128.77 12.6319 129.863 14.9482 129.863 17.1567C129.863 21.7354 126.366 26.1524 122.131 26.1524C120.519 26.1524 119.59 25.8292 119.044 25.533H118.989L117.923 31.189ZM120.027 20.2271L119.262 24.321C119.918 24.8327 120.956 25.102 122.213 25.102C125.656 25.102 128.579 21.1428 128.579 17.2375C128.579 15.6754 127.869 13.6823 125.546 13.6823C123.579 13.6823 120.847 15.9178 120.027 20.2271ZM141.148 25.8562H139.945C139.918 25.0482 140.082 23.6207 140.328 22.0047H140.273C138.716 25.0482 136.803 26.1524 134.754 26.1524C132.432 26.1524 131.093 24.321 131.093 22.0316C131.093 17.426 134.727 12.6319 139.973 12.6319C141.066 12.6319 142.24 12.7935 143.033 13.009L141.721 19.7423C141.202 22.3548 141.066 24.5364 141.148 25.8562ZM140.765 18.3956L141.639 13.8978C141.311 13.79 140.738 13.6823 139.754 13.6823C135.765 13.6823 132.404 17.453 132.377 21.8162C132.35 23.3514 132.869 25.102 135.027 25.102C137.377 25.102 140.082 22.0047 140.765 18.3956ZM145.601 25.8562H144.372L146.066 17.1298C146.339 15.6215 146.557 14.194 146.721 12.9282H147.842C147.705 13.8439 147.596 14.7596 147.404 15.837H147.486C148.306 14.0324 149.672 12.6319 151.393 12.6319C151.585 12.6319 151.858 12.6588 151.995 12.6858L151.749 13.9247C151.612 13.8978 151.421 13.8708 151.148 13.8708C149.508 13.8708 147.404 16.2948 146.803 19.5807L145.601 25.8562ZM155.847 10.558L157.186 10.0732L156.639 12.9282H159.973L159.781 13.9247H156.421L155 21.3852C154.836 22.2471 154.727 22.9204 154.727 23.7284C154.727 24.5903 155.164 25.0751 156.038 25.0751C156.475 25.0751 156.831 25.0482 157.104 24.9404L157.213 25.91C156.858 26.0447 156.339 26.1255 155.792 26.1255C154.016 26.1255 153.443 24.9135 153.443 23.7823C153.443 23.0012 153.552 22.2471 153.743 21.3314L155.191 13.9247H153.197L153.388 12.9282H155.41L155.847 10.558ZM161.066 25.8562H159.836L161.639 16.4026C161.913 15.1098 162.076 13.9516 162.213 12.9282H163.361L162.951 15.7023H163.005C164.153 13.817 166.011 12.6319 168.06 12.6319C169.235 12.6319 171.339 13.2514 171.339 16.241C171.339 16.8335 171.229 17.5607 171.093 18.2879L169.645 25.8562H168.415L169.891 18.1802C169.973 17.6415 170.082 16.9951 170.082 16.4026C170.082 14.8674 169.454 13.7092 167.568 13.7092C165.71 13.7092 162.923 15.81 162.295 19.2306L161.066 25.8562ZM181.53 24.1324L181.913 25.102C181.229 25.533 179.863 26.1255 177.923 26.1255C174.59 26.1255 173.333 23.6207 173.333 21.089C173.333 17.2375 176.311 12.6319 180.219 12.6319C182.596 12.6319 183.607 14.0863 183.607 15.5946C183.607 19.042 179.344 19.7423 174.727 19.6884C174.535 20.3618 174.59 21.9778 174.891 22.8666C175.437 24.3479 176.585 25.0751 178.087 25.0751C179.727 25.0751 180.874 24.5364 181.53 24.1324ZM182.35 15.6754V15.6484C182.35 14.3556 181.366 13.6823 180 13.6823C177.623 13.6823 175.628 16.1063 174.918 18.665C178.798 18.7188 182.35 18.2071 182.35 15.6754ZM185.628 25.8562H184.399L186.093 17.1298C186.366 15.6215 186.585 14.194 186.749 12.9282H187.869C187.732 13.8439 187.623 14.7596 187.432 15.837H187.514C188.333 14.0324 189.699 12.6319 191.421 12.6319C191.612 12.6319 191.885 12.6588 192.022 12.6858L191.776 13.9247C191.639 13.8978 191.448 13.8708 191.175 13.8708C189.536 13.8708 187.432 16.2948 186.831 19.5807L185.628 25.8562ZM191.12 25.3175L191.557 24.321C192.104 24.698 193.06 25.0751 194.016 25.0751C195.792 25.0751 197.022 23.8362 197.022 22.3818C197.022 21.1428 196.53 20.3887 195.082 19.5268C193.579 18.638 192.978 17.4799 192.978 16.3218C192.978 14.3287 194.727 12.6319 197.076 12.6319C198.06 12.6319 199.016 12.9551 199.426 13.2514L198.962 14.2748C198.579 14.0324 197.814 13.6823 196.94 13.6823C195.355 13.6823 194.208 14.7866 194.208 16.1332C194.208 17.3452 194.891 17.9916 196.12 18.7458C197.596 19.6346 198.279 20.8196 198.279 22.0586C198.279 24.6172 196.229 26.1255 193.907 26.1255C192.65 26.1255 191.585 25.6946 191.12 25.3175Z" fill="#1F2124"></path><path d="M24.346 6.07805C24.3234 5.92163 24.1874 5.83224 24.074 5.83224C23.9607 5.83224 21.5351 5.65348 21.5351 5.65348C21.5351 5.65348 19.8577 3.99989 19.6536 3.82113C19.4723 3.64236 19.1096 3.68705 18.9736 3.73174C18.9509 3.73174 18.6109 3.84347 18.0215 4.02224C17.4548 2.391 16.4574 0.916176 14.7119 0.916176C14.6666 0.916176 14.6212 0.916176 14.5532 0.916176C14.0772 0.290495 13.4425 0 12.9211 0C8.84074 0 6.89124 5.0278 6.27919 7.57521C4.69239 8.06682 3.55896 8.40201 3.42295 8.4467C2.53888 8.71485 2.51621 8.73719 2.40287 9.56399C2.31219 10.1897 0 27.8428 0 27.8428L18.0215 31.1723L27.7917 29.0942C27.7917 29.0718 24.3687 6.23447 24.346 6.07805ZM17.0241 4.29039C16.5707 4.42446 16.0493 4.58088 15.5053 4.75965C15.5053 4.64792 15.5053 4.55854 15.5053 4.42446C15.5053 3.44125 15.3693 2.6368 15.1426 1.98877C16.0493 2.12285 16.6387 3.12841 17.0241 4.29039ZM14.0092 2.21223C14.2585 2.83791 14.4172 3.7094 14.4172 4.91607C14.4172 4.98311 14.4172 5.0278 14.4172 5.09483C13.4198 5.40767 12.3544 5.72052 11.2663 6.0557C11.8783 3.75409 13.0344 2.6368 14.0092 2.21223ZM12.8077 1.0726C12.9891 1.0726 13.1704 1.13963 13.3291 1.25136C12.0143 1.8547 10.6316 3.37421 10.0422 6.43558C9.18077 6.70373 8.34203 6.94953 7.54863 7.19534C8.22869 4.87138 9.88349 1.0726 12.8077 1.0726Z" fill="#95BF47"></path><path d="M24.074 5.80986C23.9607 5.80986 21.5351 5.63109 21.5351 5.63109C21.5351 5.63109 19.8577 3.97751 19.6537 3.79874C19.5857 3.7317 19.495 3.68701 19.4043 3.68701L18.0442 31.1723L27.8143 29.0941C27.8143 29.0941 24.3914 6.23443 24.3687 6.07801C24.3234 5.92159 24.1874 5.83221 24.074 5.80986Z" fill="#5E8E3E"></path><path d="M14.7119 11.1284L13.5105 14.659C13.5105 14.659 12.445 14.1003 11.1529 14.1003C9.24877 14.1003 9.1581 15.2847 9.1581 15.5752C9.1581 17.1841 13.4198 17.8097 13.4198 21.5862C13.4198 24.5582 11.5156 26.4799 8.93141 26.4799C5.82582 26.4799 4.26169 24.5805 4.26169 24.5805L5.10042 21.8767C5.10042 21.8767 6.73256 23.2621 8.09268 23.2621C8.99942 23.2621 9.36211 22.5694 9.36211 22.0554C9.36211 19.9549 5.87116 19.8655 5.87116 16.402C5.87116 13.497 7.97933 10.6814 12.2637 10.6814C13.8958 10.6591 14.7119 11.1284 14.7119 11.1284Z" fill="white"></path><path d="M39.194 17.765C38.2192 17.2511 37.7205 16.8042 37.7205 16.2008C37.7205 15.4411 38.4232 14.9495 39.5113 14.9495C40.7808 14.9495 41.9142 15.4634 41.9142 15.4634L42.7983 12.7819C42.7983 12.7819 41.9822 12.1562 39.5793 12.1562C36.2244 12.1562 33.8895 14.0556 33.8895 16.7148C33.8895 18.2343 34.9776 19.3739 36.4284 20.2007C37.6072 20.8488 38.0152 21.318 38.0152 22.0107C38.0152 22.7258 37.4258 23.3068 36.3377 23.3068C34.7283 23.3068 33.1868 22.48 33.1868 22.48L32.2347 25.1615C32.2347 25.1615 33.6402 26.1 36.0204 26.1C39.466 26.1 41.9595 24.4241 41.9595 21.4074C41.9369 19.7538 40.6901 18.6142 39.194 17.765Z" fill="#1F2124"></path><path d="M52.9311 12.1112C51.2309 12.1112 49.8935 12.9157 48.8734 14.1223L48.8281 14.1L50.3015 6.50244H46.4705L42.7302 25.8539H46.5612L47.8307 19.2395C48.3294 16.7368 49.6441 15.1949 50.8682 15.1949C51.7296 15.1949 52.0697 15.7759 52.0697 16.6027C52.0697 17.1167 52.0243 17.7647 51.911 18.2787L50.4602 25.8539H54.2912L55.7873 18.0329C55.946 17.2061 56.0593 16.2228 56.0593 15.5525C56.082 13.3849 54.9486 12.1112 52.9311 12.1112Z" fill="#1F2124"></path><path d="M64.7641 12.1113C60.1397 12.1113 57.0795 16.2229 57.0795 20.8038C57.0795 23.7311 58.9156 26.0998 62.3612 26.0998C66.895 26.0998 69.9552 22.0999 69.9552 17.4073C69.9779 14.6811 68.3684 12.1113 64.7641 12.1113ZM62.8826 23.1948C61.5678 23.1948 61.0238 22.0999 61.0238 20.7144C61.0238 18.5469 62.1572 15.0163 64.2427 15.0163C65.6028 15.0163 66.0562 16.1783 66.0562 17.2955C66.0562 19.6195 64.9001 23.1948 62.8826 23.1948Z" fill="#1F2124"></path><path d="M79.7933 12.1113C77.2091 12.1113 75.7357 14.3683 75.7357 14.3683H75.6903L75.917 12.3348H72.5167C72.358 13.6979 72.0407 15.7984 71.746 17.3626L69.0711 31.217H72.9021L73.9675 25.6082H74.0582C74.0582 25.6082 74.8516 26.0998 76.3024 26.0998C80.8134 26.0998 83.7603 21.5412 83.7603 16.938C83.7603 14.3906 82.6042 12.1113 79.7933 12.1113ZM76.121 23.2395C75.1236 23.2395 74.5342 22.6809 74.5342 22.6809L75.1689 19.1502C75.6223 16.7816 76.8691 15.2174 78.2065 15.2174C79.3853 15.2174 79.748 16.29 79.748 17.2955C79.748 19.7536 78.2745 23.2395 76.121 23.2395Z" fill="#1F2124"></path><path d="M89.2462 6.68115C88.022 6.68115 87.0473 7.64202 87.0473 8.87104C87.0473 9.98832 87.7727 10.7704 88.8608 10.7704H88.9061C90.1076 10.7704 91.1276 9.96598 91.1503 8.58054C91.1503 7.46325 90.4022 6.68115 89.2462 6.68115Z" fill="#1F2124"></path><path d="M83.8737 25.8317H87.7046L90.3115 12.4019H86.4579L83.8737 25.8317Z" fill="#1F2124"></path><path d="M100.082 12.3793H97.4068L97.5428 11.7537C97.7695 10.4576 98.5402 9.31798 99.8324 9.31798C100.512 9.31798 101.056 9.51909 101.056 9.51909L101.805 6.5471C101.805 6.5471 101.147 6.21191 99.719 6.21191C98.3589 6.21191 96.9988 6.59179 95.956 7.46328C94.6413 8.55822 94.0292 10.1448 93.7345 11.7537L93.6212 12.3793H91.8304L91.2636 15.2396H93.0545L91.0143 25.8315H94.8453L96.8854 15.2396H99.5377L100.082 12.3793Z" fill="#1F2124"></path><path d="M109.33 12.4019C109.33 12.4019 106.928 18.3682 105.862 21.6307H105.817C105.749 20.5804 104.865 12.4019 104.865 12.4019H100.83L103.142 24.7144C103.187 24.9825 103.165 25.1613 103.051 25.3401C102.598 26.1892 101.85 27.016 100.966 27.6193C100.24 28.1333 99.4243 28.4685 98.7896 28.6919L99.855 31.9097C100.626 31.7533 102.258 31.1053 103.618 29.8539C105.363 28.245 106.996 25.7423 108.65 22.3457L113.343 12.4019H109.33Z" fill="#1F2124"></path></svg></a></div><nav class="lg:flex hidden h-full" aria-label="Main" itemscope="" itemType="https://schema.org/SiteNavigationElement" data-click-outside="dismiss" data-component-name="desktop-main-navigation" data-viewable-component="true"><ul class="flex h-full"><li class="mr-8 text-base"><div class="flex h-full"><a class="flex items-center hover:underline text-black hover:text-black" href="https://help.shopify.com/en/partners" aria-label="External source: Docs">Docs</a></div></li><li class="mr-8 text-base"><div class="flex h-full"><a class="flex items-center hover:underline text-black hover:text-black" href="https://community.shopify.com/c/partners-and-developers/ct-p/appdev" aria-label="External source: Community">Community</a></div></li><li class="mr-8 text-base"><div class="flex h-full"><a class="flex items-center hover:underline text-black hover:text-black" href="https://academy.shopify.com" aria-label="External source: Shopify Academy">Shopify Academy</a></div></li></ul></nav><div class="ml-auto transition-opacity duration-200 opacity-100 delay-100"><ul class="lg:flex hidden items-center"><li class="mr-8 text-base"><a class="whitespace-nowrap hover:underline text-black" href="/ng" data-component-name="shopify site">shopify.com</a></li><li class="mr-8 text-base"><a class="whitespace-nowrap hover:underline text-black" href="https://partners.shopify.com/organizations" data-component-name="login" aria-label="External source: Log in">Log in</a></li><li class="leading-[0]"><a href="https://partners.shopify.com/signup" class="inline-block self-center overflow-hidden max-w-full px-button-px py-button-py ring-inset rounded-button text-button-size font-button-font font-button-weight tracking-button-tracking transition-all duration-150 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-state-focus focus-visible:outline border-2 text-button-light-primary-text bg-button-light-primary-bg border-button-light-primary-border ring-button-light-primary-border hover:text-button-light-primary-text-hover hover:bg-button-light-primary-bg-hover hover:border-button-light-primary-border-hover hover:ring-button-light-primary-border-hover focus:text-button-light-primary-text-focus focus:bg-button-light-primary-bg-focus focus:border-button-light-primary-border-focus focus:ring-button-light-primary-border-focus active:text-button-light-primary-text-active active:bg-button-light-primary-bg-active active:border-button-light-primary-border-active active:ring disabled:text-button-light-primary-text-disabled disabled:bg-button-light-primary-bg-disabled disabled:border-button-light-primary-border-disabled disabled:ring-button-light-primary-border-disabled" data-component-name="sign up" data-mode="light" target="">Join Now</a></li></ul><ul class="flex items-center lg:hidden mr-[-15px]"><li class="mr-2 sm:mr-8 text-base"><a class="whitespace-nowrap hover:underline text-black" href="https://partners.shopify.com/signup" data-component-name="shopify site" aria-label="External source: Join Now">Join Now</a></li><li><button class="flex h-12 w-12 cursor-pointer select-none flex-col items-center justify-center gap-1" aria-label="Menu" aria-expanded="false" aria-controls="MobileDrawer" aria-haspopup="true" type="button" data-component-name="navigation-toggle-open"><div class="h-0.5 w-[1.125rem] transition-all ease-out-in duration-500 motion-reduce:transition-none bg-black"></div><div class="h-0.5 w-[1.125rem] transition-all ease-out-in duration-500 motion-reduce:transition-none bg-black"></div><div class="h-0.5 w-[1.125rem] transition-all ease-out-in duration-500 motion-reduce:transition-none bg-black"></div></button></li></ul></div></div></div><div class="top-0 w-full z-20 before:absolute before:top-0 before:left-0 before:pointer-events-none before:w-full before:h-global-header-with-border before:z-20 after:absolute after:top-0 after:left-0 after:will-change-[opacity] after:pointer-events-none after:h-full after:w-full after:z-10 after:transition-opacity after:duration-200 after:bg-white text-black before:border-y before:border-black/20 after:opacity-100 pointer-events-auto before:opacity-0 sticky"><div class="h-global-header container flex items-center relative z-20"><div data-component-name="secondary-navigation" class="flex items-center gap-x-8 w-full h-14 sm:h-global-header text-black"><a class="absolute left-0 top-1/2 -translate-y-1/2 transform-opacity will-change-opacity duration-200 z-20 opacity-0 pointer-events-none" href="/ng" data-component-name="logo-home"><svg viewBox="0 0 32 36" role="img" aria-labelledby="ShoppingBagOnlyLogoTitle" class="w-8 h-9"><title id="ShoppingBagOnlyLogoTitle">Shopify</title><path fill="#95BF47" d="M27.1851 6.83166C27.1598 6.65519 27.0079 6.55435 26.8813 6.55435C26.7548 6.55435 24.2489 6.50393 24.2489 6.50393C24.2489 6.50393 22.148 4.48717 21.9455 4.26028C21.743 4.0586 21.338 4.10902 21.1861 4.15944C21.1861 4.15944 20.7812 4.28549 20.123 4.48717C20.0218 4.13423 19.8446 3.70567 19.6168 3.2519C18.8828 1.84016 17.769 1.08387 16.4528 1.08387C16.3516 1.08387 16.2756 1.08387 16.1744 1.10908C16.1237 1.05866 16.0984 1.00824 16.0478 0.983034C15.4656 0.378004 14.7316 0.0754894 13.8457 0.100699C12.1498 0.151118 10.4539 1.38639 9.0617 3.55441C8.09984 5.0922 7.36579 7.00813 7.13798 8.49549C5.18896 9.10052 3.82211 9.52908 3.77149 9.52908C2.78432 9.8316 2.75901 9.85681 2.63245 10.7896C2.58182 11.4954 0 31.3858 0 31.3858L21.6671 35.1168L31.0578 32.7975C31.0325 32.7975 27.2104 7.00813 27.1851 6.83166ZM19.0346 4.8401C18.5284 4.99136 17.9715 5.16783 17.364 5.3695C17.364 4.51238 17.2375 3.30232 16.8578 2.29393C18.1487 2.49561 18.7815 3.95777 19.0346 4.8401ZM16.225 5.69723C15.086 6.05016 13.8457 6.42831 12.6054 6.80645C12.9597 5.47034 13.6179 4.15944 14.4278 3.27711C14.7316 2.94938 15.1619 2.59645 15.6428 2.39477C16.1491 3.37794 16.2503 4.76447 16.225 5.69723ZM13.8963 1.23513C14.3013 1.23513 14.6303 1.31076 14.9088 1.51244C14.4532 1.73932 13.9975 2.09226 13.5925 2.54603C12.5041 3.70567 11.6688 5.49555 11.3398 7.23501C10.302 7.56274 9.2895 7.86525 8.37827 8.14256C8.98576 5.39471 11.2892 1.31076 13.8963 1.23513Z"></path><path fill="#5E8E3E" d="M26.8814 6.55452C26.7548 6.55452 24.2489 6.5041 24.2489 6.5041C24.2489 6.5041 22.148 4.48733 21.9455 4.26045C21.8696 4.18482 21.7684 4.1344 21.6671 4.1344V35.117L31.0579 32.7977C31.0579 32.7977 27.2358 7.00829 27.2104 6.83183C27.1598 6.65536 27.0079 6.55452 26.8814 6.55452Z"></path><path fill="white" d="M16.4528 11.3696L15.3644 15.4283C15.3644 15.4283 14.1494 14.8737 12.7066 14.9745C10.5804 15.1006 10.5804 16.4367 10.5804 16.7644C10.707 18.5795 15.4909 18.9828 15.7694 23.2433C15.9719 26.5961 13.9975 28.8902 11.112 29.0667C7.66952 29.2432 5.77112 27.2264 5.77112 27.2264L6.50517 24.1256C6.50517 24.1256 8.42888 25.5625 9.9476 25.4617C10.9348 25.4113 11.3144 24.5794 11.2638 24.0248C11.112 21.6551 7.2139 21.8063 6.96078 17.8988C6.75829 14.6216 8.90981 11.3191 13.6685 11.0166C15.5162 10.8906 16.4528 11.3696 16.4528 11.3696Z"></path></svg></a><nav aria-label="Secondary" class="hidden lg:block h-full transition-transform will-change-transform duration-200 translate-x-0" data-click-outside="dismiss"><ul class="flex items-center gap-x-8 h-full"><li class="relative flex flex-col items-center h-full border-black/30"><a href="/ng/partners/blog" class="font-bold flex items-center h-full hover:underline outline-4 outline-state-focus focus-visible:outline">Blog</a></li><li class="relative flex flex-col items-center h-full after:absolute after:w-full after:h-[3px] after:bottom-0 hover:underline after:hidden after:bg-black"><a href="/ng/partners/blog/topics/shopify-news" class="flex items-center h-full outline-state-focus outline-4 focus-visible:outline" data-secondary-nav-tier="1">Shopify News</a></li><li class="relative flex flex-col items-center h-full after:absolute after:w-full after:h-[3px] after:bottom-0 hover:underline after:hidden after:bg-black"><a href="/ng/partners/blog/topics/case-studies" class="flex items-center h-full outline-state-focus outline-4 focus-visible:outline" data-secondary-nav-tier="1">Case Studies</a></li><li class="relative flex flex-col items-center h-full after:absolute after:w-full after:h-[3px] after:bottom-0 hover:underline after:hidden after:bg-black"><a href="/ng/partners/blog/latest" class="flex items-center h-full outline-state-focus outline-4 focus-visible:outline" data-secondary-nav-tier="1">Latest</a></li><li class="relative flex flex-col items-center h-full after:absolute after:w-full after:h-[3px] after:bottom-0 hover:underline after:hidden after:bg-black"><button type="button" aria-expanded="false" aria-haspopup="true" aria-controls="id_More_3" class="h-full outline-state-focus outline-4 focus-visible:outline" data-secondary-nav-tier="1"><span class="flex items-center">More<svg fill="none" viewBox="0 0 16 16" aria-hidden="true" icon="chevron" height="64" width="64" class="rotate-180 shrink-0 w-5 h-7 ml-2"><path fill="currentColor" d="M12 10.4a.798.798 0 0 1-.566-.234L8 6.73l-3.434 3.435a.8.8 0 1 1-1.132-1.132l4-4a.8.8 0 0 1 1.132 0l4 4A.8.8 0 0 1 12 10.4Z"></path></svg></span></button><div id="id_More_3" class="absolute top-[80px] duration-500 left-0 rounded-lg transition-all box-content opacity-0 -translate-y-6 pointer-events-none w-[256px] bg-white text-black shadow-light"><ul class="p-4 w-[224px] box-content"><li class="py-3 px-4 rounded-lg"><a href="/ng/partners/blog/topics/shopify-app-development" class="hover:underline outline-state-focus outline-4 focus-visible:outline" data-secondary-nav-tier="2">App development</a></li><li class="py-3 px-4 rounded-lg"><a href="/ng/partners/blog/topics/shopify-theme-development" class="hover:underline outline-state-focus outline-4 focus-visible:outline" data-secondary-nav-tier="2">Shopify Theme Development</a></li><li class="py-3 px-4 rounded-lg"><a href="/ng/partners/blog/topics/front-end-development" class="hover:underline outline-state-focus outline-4 focus-visible:outline" data-secondary-nav-tier="2">Front End Development</a></li><li class="py-3 px-4 rounded-lg"><a href="/ng/partners/blog/topics/inspiration-creativity" class="hover:underline outline-state-focus outline-4 focus-visible:outline" data-secondary-nav-tier="2">Inspiration & Creativity</a></li><li class="py-3 px-4 rounded-lg"><a href="/ng/partners/blog/topics/finding-new-clients" class="hover:underline outline-state-focus outline-4 focus-visible:outline" data-secondary-nav-tier="2">Finding New Clients</a></li><li class="py-3 px-4 rounded-lg"><a href="/ng/partners/blog/topics" class="hover:underline outline-state-focus outline-4 focus-visible:outline" data-secondary-nav-tier="2">See All topics</a></li></ul></div></li></ul></nav><div class="hidden lg:block ml-auto"><div class="hidden lg:flex flex-row items-center text-base cursor-pointer blog-navbar-navigation">Search<svg viewBox="0 0 20 20" class="w-4 h-4 ml-2"><path fill-rule="evenodd" d="M12.323 13.383a5.5 5.5 0 1 1 1.06-1.06l2.897 2.897a.75.75 0 1 1-1.06 1.06l-2.897-2.897Zm.677-4.383a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z"></path></svg></div><div class="mb-6 lg:mb-0 lg:absolute lg:bottom-0 lg:left-0 w-full z-50 bg-white lg:hidden"><div class="lg:container lg:h-[71px] flex items-center"><div class="flex flex-row items-center text-base relative w-full border-b border-[#ccc]"><form method="get" action="/ng/partners/blog/how-to-build-a-shopify-app" class="flex lg:block w-full -mt-4 lg:mt-0" novalidate="" data-component-extra-search-value=""><input class="outline-0 text-base relative z-20 bg-transparent w-full lg:placeholder:text-transparent py-2 placeholder-shade-50" type="text" name="header-search" autoComplete="off" placeholder="Search" value=""/><button class="lg:hidden p-6 -mr-6" aria-label="Search icon"><svg viewBox="0 0 20 20" class="w-4 h-4 ml-2"><path fill-rule="evenodd" d="M12.323 13.383a5.5 5.5 0 1 1 1.06-1.06l2.897 2.897a.75.75 0 1 1-1.06 1.06l-2.897-2.897Zm.677-4.383a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z"></path></svg></button></form><div class="hidden lg:flex absolute z-10 top-1/2 left-0 -translate-y-1/2 flex-row items-center text-base text-shade-50">Type something you're looking for<svg viewBox="0 0 20 20" class="w-4 h-4 ml-2"><path fill-rule="evenodd" d="M12.323 13.383a5.5 5.5 0 1 1 1.06-1.06l2.897 2.897a.75.75 0 1 1-1.06 1.06l-2.897-2.897Zm.677-4.383a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z"></path></svg></div><div class="hidden lg:block p-2 cursor-pointer ml-auto"><svg viewBox="0 0 20 20" class="size-5"><path d="M12.72 13.78a.75.75 0 1 0 1.06-1.06l-2.72-2.72 2.72-2.72a.75.75 0 0 0-1.06-1.06l-2.72 2.72-2.72-2.72a.75.75 0 0 0-1.06 1.06l2.72 2.72-2.72 2.72a.75.75 0 1 0 1.06 1.06l2.72-2.72 2.72 2.72Z"></path></svg></div></div></div></div></div><div class="pl-8 app-signup-links transform-opacity duration-200 relative before:h-[22px] before:bg-shade-30 before:w-[1px] before:absolute before:left-0 before:top-[1/2] before:translate-[-1/2] opacity-0 lg:hidden"><ul class="flex items-center"><li class="mr-8 text-base"><a class="whitespace-nowrap hover:underline text-black" href="/ng" data-component-name="shopify site">shopify.com</a></li><li class="mr-8 text-base"><a class="whitespace-nowrap hover:underline text-black" href="https://partners.shopify.com/organizations" data-component-name="login" aria-label="External source: Log in">Log in</a></li><li class="leading-[0]"><a href="https://partners.shopify.com/signup" class="inline-block self-center overflow-hidden max-w-full px-button-px py-button-py ring-inset rounded-button text-button-size font-button-font font-button-weight tracking-button-tracking transition-all duration-150 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-state-focus focus-visible:outline border-2 text-button-light-primary-text bg-button-light-primary-bg border-button-light-primary-border ring-button-light-primary-border hover:text-button-light-primary-text-hover hover:bg-button-light-primary-bg-hover hover:border-button-light-primary-border-hover hover:ring-button-light-primary-border-hover focus:text-button-light-primary-text-focus focus:bg-button-light-primary-bg-focus focus:border-button-light-primary-border-focus focus:ring-button-light-primary-border-focus active:text-button-light-primary-text-active active:bg-button-light-primary-bg-active active:border-button-light-primary-border-active active:ring disabled:text-button-light-primary-text-disabled disabled:bg-button-light-primary-bg-disabled disabled:border-button-light-primary-border-disabled disabled:ring-button-light-primary-border-disabled" data-component-name="sign up" data-mode="light" target="">Join Now</a></li></ul></div></div></div></div><svg class="sr-only" aria-hidden="true"><defs><linearGradient id="start_svg__a" x1="4" y1="2.5" x2="37.5" y2="36" gradientUnits="userSpaceOnUse"><stop stop-color="#00E392"></stop><stop offset="1" stop-color="#00B4CD"></stop></linearGradient><linearGradient id="manage_svg__a" x1="1" y1="1" x2="39" y2="39" gradientUnits="userSpaceOnUse"><stop stop-color="#1CD9D9"></stop><stop offset="1" stop-color="#70D50E"></stop></linearGradient><linearGradient id="market_svg__a" x1="1" y1="1" x2="39" y2="39" gradientUnits="userSpaceOnUse"><stop stop-color="#EA4EF2"></stop><stop offset="1" stop-color="#29C9FF"></stop></linearGradient><linearGradient id="start_svg__b" x1="4" y1="2.5" x2="37.5" y2="36" gradientUnits="userSpaceOnUse"><stop stop-color="#00E392"></stop><stop offset="1" stop-color="#00B4CD"></stop></linearGradient><linearGradient id="sell_svg__a" x1="1" y1="1" x2="39" y2="39" gradientUnits="userSpaceOnUse"><stop stop-color="#33EDE2"></stop><stop offset="1" stop-color="#6754FF"></stop></linearGradient><clipPath id="white_circle_svg__a"><path fill="#fff" d="M0 0h40v40H0z"></path></clipPath><linearGradient id="paint0_linear_1_569" x1="6.12412" y1="7.32529" x2="16.6923" y2="17.7506" gradientUnits="userSpaceOnUse"><stop offset="0.161933" stop-color="#27293B"></stop><stop offset="0.760531" stop-color="#27293B"></stop></linearGradient><linearGradient id="paint1_linear_1_569" x1="18.4621" y1="6.91041" x2="12.5203" y2="17.2518" gradientUnits="userSpaceOnUse"><stop stop-color="#27293B"></stop><stop offset="1" stop-color="#4F58AA"></stop></linearGradient><linearGradient id="paint0_linear_41_589" x1="7.59808" y1="8.96" x2="28.4853" y2="30.2112" gradientUnits="userSpaceOnUse"><stop stop-color="#A8B1EB"></stop><stop offset="1" stop-color="#32386C"></stop></linearGradient><linearGradient id="paint1_linear_41_589" x1="18.4622" y1="6.91041" x2="12.7852" y2="12.9621" gradientUnits="userSpaceOnUse"><stop stop-color="#A8B1EB"></stop><stop offset="1" stop-color="#4F58AA"></stop></linearGradient><linearGradient id="paint0_linear_1_568" x1="85.4375" y1="44" x2="-160.562" y2="-57" gradientUnits="userSpaceOnUse"><stop stop-color="white"></stop><stop offset="0.829504" stop-color="white" stop-opacity="0"></stop></linearGradient><radialGradient id="paint1_radial_1_568" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(73.4375 49) rotate(-96.3402) scale(54.3323 72.1138)"><stop stop-color="#3C00BB" stop-opacity="0.72"></stop><stop offset="1" stop-color="white" stop-opacity="0"></stop></radialGradient><radialGradient id="paint2_radial_1_568" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(107.438 44) rotate(-15.5615) scale(82.0061 39.4114)"><stop stop-color="#423EFF" stop-opacity="0.6"></stop><stop offset="0.754349" stop-color="#12C06D" stop-opacity="0"></stop></radialGradient><linearGradient id="paint3_linear_1_568" x1="15.1241" y1="17.3253" x2="25.6923" y2="27.7506" gradientUnits="userSpaceOnUse"><stop offset="0.161933" stop-color="#27293B"></stop><stop offset="0.760531" stop-color="#27293B"></stop></linearGradient><linearGradient id="paint4_linear_1_568" x1="27.4621" y1="16.9104" x2="21.5203" y2="27.2518" gradientUnits="userSpaceOnUse"><stop stop-color="#27293B"></stop><stop offset="1" stop-color="#4F58AA"></stop></linearGradient><linearGradient id="paint0_linear_1_612" x1="85.4375" y1="44" x2="-160.562" y2="-57" gradientUnits="userSpaceOnUse"><stop stop-color="white"></stop><stop offset="0.829504" stop-color="white"></stop></linearGradient><radialGradient id="paint1_radial_1_612" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(73.4375 49) rotate(-99.5942) scale(44.6242 90.7846)"><stop stop-color="#3C00BB" stop-opacity="0.72"></stop><stop offset="1" stop-color="white" stop-opacity="0"></stop></radialGradient><radialGradient id="paint2_radial_1_612" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(107.438 44) rotate(-47.641) scale(98.7905 47.4778)"><stop stop-color="#423EFF" stop-opacity="0.6"></stop><stop offset="0.754349" stop-color="#12C06D" stop-opacity="0"></stop></radialGradient><linearGradient id="paint3_linear_1_612" x1="15.1242" y1="17.3253" x2="25.6923" y2="27.7506" gradientUnits="userSpaceOnUse"><stop offset="0.161933" stop-color="#27293B"></stop><stop offset="0.760531" stop-color="#27293B"></stop></linearGradient><linearGradient id="paint4_linear_1_612" x1="27.4621" y1="16.9104" x2="21.5203" y2="27.2518" gradientUnits="userSpaceOnUse"><stop stop-color="#27293B"></stop><stop offset="1" stop-color="#4F58AA"></stop></linearGradient><linearGradient id="paint0_linear_1_651" x1="85.4375" y1="44" x2="-160.562" y2="-57" gradientUnits="userSpaceOnUse"><stop stop-color="white"></stop><stop offset="0.829504" stop-color="white"></stop></linearGradient><radialGradient id="paint1_radial_1_651" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(73.4375 49) rotate(-99.5942) scale(44.6242 90.7846)"><stop stop-color="#3C00BB" stop-opacity="0.72"></stop><stop offset="1" stop-color="white" stop-opacity="0"></stop></radialGradient><radialGradient id="paint2_radial_1_651" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(107.438 44) rotate(-47.641) scale(98.7905 47.4778)"><stop stop-color="#423EFF" stop-opacity="0.6"></stop><stop offset="0.754349" stop-color="#12C06D" stop-opacity="0"></stop></radialGradient><linearGradient id="paint3_linear_1_651" x1="15.1242" y1="17.3253" x2="25.6923" y2="27.7506" gradientUnits="userSpaceOnUse"><stop offset="0.161933" stop-color="#27293B"></stop><stop offset="0.760531" stop-color="#27293B"></stop></linearGradient><linearGradient id="paint4_linear_1_651" x1="27.4621" y1="16.9104" x2="21.5203" y2="27.2518" gradientUnits="userSpaceOnUse"><stop stop-color="#27293B"></stop><stop offset="1" stop-color="#4F58AA"></stop></linearGradient><linearGradient id="paint0_linear_41_588" x1="-59.2497" y1="-1.6632e-07" x2="-32.4337" y2="99.4491" gradientUnits="userSpaceOnUse"><stop offset="0.000294443" stop-color="#15161B"></stop><stop offset="0.606057" stop-color="#1C1F31"></stop></linearGradient><radialGradient id="paint1_radial_41_588" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(146.438 64) rotate(-172.051) scale(224.154 105.307)"><stop stop-color="#333FB2"></stop><stop offset="0.75924" stop-color="#27293B" stop-opacity="0"></stop></radialGradient><linearGradient id="paint2_linear_41_588" x1="16.5981" y1="18.96" x2="37.4853" y2="40.2112" gradientUnits="userSpaceOnUse"><stop stop-color="#A8B1EB"></stop><stop offset="1" stop-color="#32386C"></stop></linearGradient><linearGradient id="paint3_linear_41_588" x1="27.4622" y1="16.9104" x2="21.7852" y2="22.9621" gradientUnits="userSpaceOnUse"><stop stop-color="#A8B1EB"></stop><stop offset="1" stop-color="#4F58AA"></stop></linearGradient><linearGradient id="paint0_linear_41_625" x1="-59.2497" y1="-1.6632e-07" x2="-32.4337" y2="99.4491" gradientUnits="userSpaceOnUse"><stop offset="0.000294443" stop-color="#15161B"></stop><stop offset="0.606057" stop-color="#1C1F31"></stop></linearGradient><radialGradient id="paint1_radial_41_625" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(146.438 64) rotate(-172.051) scale(224.154 105.307)"><stop stop-color="#333FB2"></stop><stop offset="0.75924" stop-color="#27293B" stop-opacity="0"></stop></radialGradient><linearGradient id="paint2_linear_41_625" x1="16.5981" y1="18.96" x2="37.4853" y2="40.2112" gradientUnits="userSpaceOnUse"><stop stop-color="#A8B1EB"></stop><stop offset="1" stop-color="#32386C"></stop></linearGradient><linearGradient id="paint3_linear_41_625" x1="27.4622" y1="16.9104" x2="21.7852" y2="22.9621" gradientUnits="userSpaceOnUse"><stop stop-color="#A8B1EB"></stop><stop offset="1" stop-color="#4F58AA"></stop></linearGradient><linearGradient id="paint0_linear_41_662" x1="-59.2497" y1="-1.6632e-07" x2="-32.4337" y2="99.4491" gradientUnits="userSpaceOnUse"><stop offset="0.000294443" stop-color="#15161B"></stop><stop offset="0.606057" stop-color="#1C1F31"></stop></linearGradient><radialGradient id="paint1_radial_41_662" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(146.438 64) rotate(-172.051) scale(224.154 105.307)"><stop stop-color="#333FB2"></stop><stop offset="0.75924" stop-color="#27293B" stop-opacity="0"></stop></radialGradient><linearGradient id="paint2_linear_41_662" x1="16.5981" y1="18.96" x2="37.4853" y2="40.2112" gradientUnits="userSpaceOnUse"><stop stop-color="#A8B1EB"></stop><stop offset="1" stop-color="#32386C"></stop></linearGradient><linearGradient id="paint3_linear_41_662" x1="27.4622" y1="16.9104" x2="21.7852" y2="22.9621" gradientUnits="userSpaceOnUse"><stop stop-color="#A8B1EB"></stop><stop offset="1" stop-color="#4F58AA"></stop></linearGradient></defs></svg></header><main role="main" id="main" tabindex="-1" class="focus-visible:outline-none"><div class="fixed top-0 left-0 h-[6px] z-50 bg-partners-highlight" style="width:null%"></div><section class="grid grid-cols-full bg-section-light-bg text-section-light-text featured-blogs gap-y-0 pt-36 pb-0" data-section-name="" data-component-name="how-to-build-a-shopify-app" data-viewable-component="true" data-mode="light"><div class="relative overflow-hidden bg-partners-conversionBg bg-partners-article-converion bg-no-repeat bg-bottom"><picture data-component-name="image"><img alt="" class="absolute right-[-380px] h-full w-auto min-w-[950px]" src=""/></picture><div class="container relative flex flex-col items-center text-center py-[60px] px-[40px] tablet-xl:px-[130px] desktop:px-[210px]"><p class="richtext font-extralight font-sans text-white text-t2">Become a Shopify Partner.</p><p class="richtext font-extralight mb-4 font-sans text-white text-t2">Unlock business growth.</p><a href="https://partners.shopify.com/signup" class="inline-block self-center overflow-hidden max-w-full px-button-px py-button-py ring-inset rounded-button tracking-button-tracking transition-all duration-150 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-state-focus focus-visible:outline border-2 border-button-light-primary-border ring-button-light-primary-border hover:border-button-light-primary-border-hover hover:ring-button-light-primary-border-hover focus:border-button-light-primary-border-focus focus:ring-button-light-primary-border-focus active:border-button-light-primary-border-active active:ring disabled:text-button-light-primary-text-disabled disabled:bg-button-light-primary-bg-disabled disabled:border-button-light-primary-border-disabled disabled:ring-button-light-primary-border-disabled text-base font-ibmmono font-medium bg-partners-conversionButton text-partners-conversionButtonText hover:bg-[#62ba6b] hover:text-black active:bg-[#00740B] active:text-black focus:bg-[#00740B] focus:text-black" data-component-name="button" target="">Join Today</a></div></div><article id="article" itemscope="" itemType="https://schema.org/Article" class="featured-blogs__section"><meta itemProp="mainEntityOfPage" content="/ng/partners/blog/how-to-build-a-shopify-app"/><meta itemProp="dateModified" content="2021-02-25T03:00:00.000Z"/><div class="relative"><div class="py-10 tablet:text-center desktop:pt-16 desktop:pb-16" data-mode="light"><div class="container desktop:w-9/12 desktop:mx-auto"><div class="uppercase text-shade-100 font-aktivgroteskextended text-[12px] leading-[14px] tracking-[0.01em] font-semibold tablet-xl:font-shopifysans tablet-xl:text-[11px] tablet-xl:leading-[13px] tablet:tracking-[0.5px] tablet:font-bold pb-2"><a href="/ng/partners/blog" class="no-underline hover:text-link-light-hover topic-link">blog</a><span class="richtext px-2.5 text-xs">|</span><a href="/ng/partners/blog/topics/shopify-app-development" class="no-underline hover:text-link-light-hover topic-link">Shopify App Development</a></div><h1 class="richtext font-medium tracking-[-0.02em] text-[28px] leading-9 tablet-xl:text-[40px] tablet-xl:leading-[48px]" itemProp="headline">How to Build a Shopify App: The Complete Guide</h1><p class="richtext font-normal tracking-[-0.02em] text-[18px] leading-[26px] tablet-xl:text-[20px] tablet-xl:leading-7 desktop:text-[22px] desktop:leading-8 mt-4 desktop:mt-4">Millions of merchants use Shopify to power their businesses, and apps play a critical role in their success. Apps empower merchants to meet their unique challenges and needs. While there are limitless opportunities to build an app, if you haven’t developed an app for the Shopify App Store before, where exactly do you start? In this guide, you’ll learn the six stages of app development you need to know to create and launch a successful app on Shopify. Let’s get started.</p><div class="lg:hidden mt-4 tablet-xl:mt-12"><div class="gap-x-1 flex flex-wrap font-bold sm:justify-center !text-lg text-legacy-gray-90"> <!-- -->by <span itemProp="author" itemscope="" itemType="https://schema.org/Person"><a href="/ng/partners/blog/authors/monique-elliot" class="no-underline" itemProp="url"><span itemProp="name">Monique Elliot</span></a></span></div><div class="text-body-sm text-shade-50">Last updated<!-- --> <time>25 Feb 2021</time></div></div></div></div><div class="tablet:container desktop:w-9/12 desktop:mx-auto overflow-hidden flex justify-center"><img class="" src="https://cdn.shopify.com/s/files/1/0533/2089/articles/how-to-build-a-shopify-app.jpg?v=1727286002&originalWidth=1848&originalHeight=782" alt="How to build a Shopify app" loading="eager" decoding="async" width="1848" height="782" srcSet="https://cdn.shopify.com/s/files/1/0533/2089/articles/how-to-build-a-shopify-app.jpg?v=1727286002&originalWidth=1848&originalHeight=782&width=200 200w, https://cdn.shopify.com/s/files/1/0533/2089/articles/how-to-build-a-shopify-app.jpg?v=1727286002&originalWidth=1848&originalHeight=782&width=400 400w, https://cdn.shopify.com/s/files/1/0533/2089/articles/how-to-build-a-shopify-app.jpg?v=1727286002&originalWidth=1848&originalHeight=782&width=600 600w, https://cdn.shopify.com/s/files/1/0533/2089/articles/how-to-build-a-shopify-app.jpg?v=1727286002&originalWidth=1848&originalHeight=782&width=800 800w, https://cdn.shopify.com/s/files/1/0533/2089/articles/how-to-build-a-shopify-app.jpg?v=1727286002&originalWidth=1848&originalHeight=782&width=1000 1000w, https://cdn.shopify.com/s/files/1/0533/2089/articles/how-to-build-a-shopify-app.jpg?v=1727286002&originalWidth=1848&originalHeight=782&width=1200 1200w, https://cdn.shopify.com/s/files/1/0533/2089/articles/how-to-build-a-shopify-app.jpg?v=1727286002&originalWidth=1848&originalHeight=782&width=1400 1400w, https://cdn.shopify.com/s/files/1/0533/2089/articles/how-to-build-a-shopify-app.jpg?v=1727286002&originalWidth=1848&originalHeight=782&width=1600 1600w, https://cdn.shopify.com/s/files/1/0533/2089/articles/how-to-build-a-shopify-app.jpg?v=1727286002&originalWidth=1848&originalHeight=782&width=1800 1800w"/></div></div><div class="container grid-cols-4 sm:grid-cols-8 md:grid-cols-12 block tablet-xl:grid gap-y-0 gap-x-12"><div class="col-span-4 xs:col-span-12 md:col-span-4 lg:col-span-3 col-start-1 nav-drawer md:pb-20 pt-10 desktop:pt-16" data-component-name="blog-left-sidebar"><nav class="md:top-[calc(var(--header-height)*2)] md:max-h-[calc(100vh-var(--header-height))] md:overflow-auto md:sticky md:pb-6 pr-2"><div class="bg-[#EAE8FF] hidden md:block"><div class="p-6"><p class="richtext text-2xl font-aktivgroteskextended text-[#390278] font-bold mb-4">Earn more revenue as a Shopify Partner</p><p class="richtext font-aktivgroteskextended text-[#212326] text-base mb-4">Grow your Shopify expertise and unlock new ways to earn revenue for your own business with the Shopify Partner Program.</p><a href="https://partners.shopify.com/signup" class="inline-block self-center overflow-hidden max-w-full px-button-px py-button-py ring-inset rounded-button font-button-font font-button-weight tracking-button-tracking transition-all duration-150 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-state-focus focus-visible:outline border-2 text-button-light-primary-text border-button-light-primary-border ring-button-light-primary-border hover:text-button-light-primary-text-hover hover:border-button-light-primary-border-hover hover:ring-button-light-primary-border-hover focus:text-button-light-primary-text-focus focus:border-button-light-primary-border-focus focus:ring-button-light-primary-border-focus active:text-button-light-primary-text-active active:border-button-light-primary-border-active active:ring disabled:text-button-light-primary-text-disabled disabled:bg-button-light-primary-bg-disabled disabled:border-button-light-primary-border-disabled disabled:ring-button-light-primary-border-disabled text-base bg-[#390278] hover:bg-[#390278] active:bg-[#390278] focus:bg-[#390278]" data-component-name="button" target="">Become a Partner</a></div></div></nav></div><div class="col-span-4 xs:col-span-12 md:col-span-8 lg:col-span-6 col-start-1"><div id="article-content" class="text-body-base text-shade-70 md:pt-10 desktop:pt-16 [&_h2]:text-t4 [&_h2]:mt-12 [&_h2]:mb-6 [&_h2]:text-black [&_h2]:font-medium [&_.heading--2]:text-t5 [&_.heading--2]:text-black [&_.heading--2]:font-aktivgroteskextended [&_.heading--2]:mb-6 [&_.heading--2]:font-medium [&_h3]:text-t5 [&_h3]:mt-12 [&_h3]:mb-4 [&_h3]:text-black [&_h4]:text-t6 [&_h4]:mt-12 [&_h4]:mb-4 [&_h4]:text-black [&_h5]:text-t7 [&_p]:mb-6 [&_hr]:mb-6 [&_a]:text-black [&_a]:font-medium [&_a]:underline [&_a:hover]:no-underline [&_sup_a]:no-underline [&_sup_a:hover]:underline [&_.marketing-button]:text-white [&_.marketing-button]:no-underline [&_a>img]:mt-3 [&_a>img]:mb-8 [&_a>img]:h-[revert-layer] [&_img]:my-12 [&_a>img]:inline-block [&_figure>img]:mb-0 [&_figure]:mb-12 [&_img]:inline-block [&_ul]:list-disc [&_ul]:space-y-3 [&_ul]:pl-6 [&_ul]:mb-6 [&_ul_li]:pl-4 [&_ol]:list-decimal [&_ol]:space-y-3 [&_ol]:pl-6 [&_ol]:mb-6 [&_ol_li]:pl-4 [&_ol_li::marker]:font-bold [&_iframe]:max-w-full [&_figcaption]:mb-12 [&_figcaption]:text-center [&_figcaption]:text-xs [&_figcaption]:sm:text-sm [&_figcaption]:mt-1 [&_strong]:font-medium [&_strong]:text-black [&_.heading--4]:font-aktivgroteskextended [&_.heading--4]:text-2xl [&_.heading--4]:text-black [&_.heading--4]:font-medium [&_.heading--4]:tracking-[-.02em] [&_iframe]:mt-3 [&_iframe]:mb-9 [&_.container]:m-0 [&_.container]:flex [&_.container]:gap-5 [&_.container]:flex-wrap [&_.green]:text-[green] [&_.red]:text-[red] [&_.pros]:bg-[#eafaea] [&_.pros]:rounded-[10px] [&_.pros]:p-5 [&_.pros_h3]:mt-2 [&_.cons]:bg-[#ffebe6] [&_.cons]:rounded-[10px] [&_.cons]:p-5 [&_.cons_h3]:mt-2 [&_.pros]:tablet:flex-[1_0_calc(50%-10px)] [&_.pros]:flex-[1_0_100%] [&_.cons]:tablet:flex-[1_0_calc(50%-10px)] [&_.cons]:flex-[1_0_100%] [&_.pros_.grid-container]:grid [&_.cons_.grid-container]:grid [&_.grid-container]:gap-[5px] [&_.grid-container]:grid-cols-[15px_auto] [&_.pros_.grid-container]:p-[5px] [&_.cons_.grid-container]:p-[5px] [&_.aspect-video_iframe]:mt-0 article-content [&_.truncated-text]:relative [&_.truncated-text]:max-h-[300px] [&_.truncated-text]:overflow-hidden [&_.truncated-text]:mb-6 [&_.truncated-text::before]:absolute [&_.truncated-text::before]:content-[""] [&_.truncated-text::before]:bottom-0 [&_.truncated-text::before]:w-full [&_.truncated-text::before]:h-[150px] [&_.truncated-text::before]:bg-gradient-to-t [&_.truncated-text::before]:from-white [&_.truncated-text::before]:from-50% [&_.truncated-text::before]:to-transparent [&_.truncated-text\_\_toggle]:absolute [&_.truncated-text\_\_toggle]:bottom-0 [&_.truncated-text\_\_toggle]:w-full [&_.truncated-text\_\_toggle]:text-center [&_.marketing-code]:bg-[#f0f1f2] [&_.marketing-code]:font-bold [&_.marketing-code]:p-1 [&_.marketing-code.marketing-code--block]:p-4 [&_.marketing-code--block]:block [&_.marketing-code--block]:max-w-full [&_.marketing-code--block]:overflow-x-scroll [&_.marketing-code--block]:mb-5 [&_.partners-signup]:mt-6 [&_.partners-signup]:mb-12 [&_.partners-signup]:bg-gray-200 [&_.partners-signup]:p-3 [&_.partners-signup]:md:p-6 [&_.table]:block [&_.table]:overflow-x-scroll [&_.table]:max-w-full" itemProp="articleBody"><div class="hidden leadpage-container leadpage__image leadpage__content marketing-button hide--mobile block--bordered"></div><div> <p>There’s never been a better time to build a Shopify app. Millions of merchants across the globe build, scale, and manage their businesses on Shopify. Apps play a critical role in their success by empowering them to meet the unique challenges and needs of their business. In fact, apps are so important to the merchant journey that the average Shopify merchant has six apps installed on their store.</p> <p>With the diversity of our merchant base growing by the day, and a rapidly changing commerce landscape, there are always opportunities for developers to build creative solutions to diverse merchant problems. Each stage of a merchant’s entrepreneurial journey is a standalone billion-dollar industry—from sourcing products, marketing, order fulfillment, customer management, and more. The opportunities are there, but if you haven’t developed an app for the <a href="https://apps.shopify.com?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Shopify App Store</a> before, where exactly do you start?</p> <p>We’ve got you covered. In this guide, we share the six stages of app development you need to know to build and launch a successful app on Shopify, with insights and advice from Shopify’s own developers and successful partner app developers who work with Shopify every day.</p> <p>Let’s get started.</p> <div style="background: #f8f8f8; border: 1px solid #d6d7d7; padding: 0 20px 15px;"> <h3 style="text-align: center;">Table of contents</h3> <hr> <br><a href="#ecosystem">1. What to know about Shopify’s app ecosystem</a><br> <ul> <li><a href="#apps-into-shopify">How apps fit into Shopify</a></li> <li><a href="#types">App types</a></li> <li><a href="#merchant-buyer-data">Merchant and buyer data</a></li> <li><a href="#app-store">The Shopify App Store</a></li> <li><a href="#getting-started">Getting started with your app</a></li> </ul> <a href="#how-to-validate">2. How to validate your app idea</a><br> <ul> <li><a href="#step-validation">4 steps to validate your app idea</a></li> <li><a href="#right-reasons">Building for the right reasons</a></li> </ul> <a href="#consider-design">3. What to consider as you design your Shopify app</a><br> <ul> <li><a href="#polaris-getting-started">Getting started with Polaris</a></li> <li><a href="#accessibility-principles">The best app design embraces accessibility principles</a></li> <li><a href="#merchant-in-mind">App design with the merchant in mind</a></li> </ul> <a href="#submission-to-store">4. Submission to the Shopify App Store</a><br> <ul> <li><a href="#prepare-submit">Preparing to submit your app</a></li> <li><a href="#submitting">Submitting your app</a></li> <li><a href="#review">The review process</a></li> <li><a href="#revise">Revisions and changes</a></li> </ul> <a href="#monitoring">5. Monitoring your app: keeping performance top of mind</a><br> <ul> <li><a href="#app-health">App health within the Shopify ecosystem</a></li> <li><a href="#changes-and-api-versioning">Breaking changes and API versioning</a></li> <li><a href="#performance-and-management">App performance management and monitoring</a></li> <li><a href="#insights">Business insights</a></li> <li><a href="#metrics">What metrics you should be tracking</a></li> <li><a href="#designing-growth">Designing app growth experiments through data analysis</a></li> <li><a href="#understand">Build and understand traction to scale app performance and installs</a></li> </ul> </div> <h2 id="ecosystem">1. What to know about Shopify’s app ecosystem</h2> <p><img class="block block--bordered" src="https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-what-to-know-triangles.jpg?v=1614173343" alt="How to build a Shopify app: Illustration of a person obscured by the waist up. They are holding colorful rectangles that overlay each other, piled past their head. The vague shape of a large arrow pointing up is created by the overlaid rectangles. This is a simplified, abstract representation of how Shopify's app ecosystem works together."></p> <p>Before you begin the process of planning and developing your app, it’s important to first understand how apps work with Shopify’s ecosystem.</p> <p>In this section, we’ll dive into how apps fit into Shopify, the infrastructure and tech stack available to developers, and the different types of apps you can build.</p> <div data-sanitized-data-partners-signup="app_developer" data-partners-signup="app_developer"></div> <h3 id="apps-into-shopify">How apps fit into Shopify</h3> <p>Shopify is designed to get merchants up and running out of the box. But each merchant is unique, so they use apps to solve their specific challenges.</p> <p>In the Shopify context, apps are web applications that extend the functionality of Shopify stores. They allow merchants to tailor their experiences on Shopify to exactly their needs. </p> <p>Apps integrate with Shopify by:</p> <ul> <li>Connecting with <a href="https://shopify.dev/docs?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Shopify’s APIs</a>, the most-used of which is the <a href="https://shopify.dev/docs/admin-api?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Admin API</a>, which allows apps to read and write data about products, customers, orders, inventory, fulfillment, and more</li> <li>Extending new features inside existing parts of the Shopify Admin or POS</li> <li>Enhancing the way stores display information to customers</li> </ul> <h3 id="types">App types</h3> <p>There are two different levels of accessibility your app can have: </p> <ul> <li> <a href="https://shopify.dev/concepts/apps?itcat=partner_blog&itterm=how_to_build_a_shopify_app#public-apps">Public apps</a>: Apps that are available to many merchants and can be listed in <a href="https://apps.shopify.com?itcat=partner_blog&itterm=how_to_build_a_shopify_app">the Shopify App Store</a> (see below). They are created in your Partner Dashboard.</li> <li> <a href="https://shopify.dev/concepts/apps?itcat=partner_blog&itterm=how_to_build_a_shopify_app#custom-apps">Custom apps</a>: Apps that are custom made for a specific merchant and cannot be listed in the Shopify App Store. They are created in your Partner Dashboard.</li> </ul> <blockquote class="border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [&_p]:mb-4 [&_cite]:font-aktivgroteskextended [&_cite]:text-sm [&_cite]:not-italic [&_cite]:font-medium [&_cite]:tracking-[-0.0175rem] [&_footer]:mt-4 [&_cite::before]:content-["–"] [&_cite::before]:mr-1 border-partners-highlight">"For the purposes of this guide, we’re going to focus on creating public apps: apps that are meant for one-to-many distribution via the Shopify App Store."</blockquote> <p>For the purposes of this guide, we’re going to focus on creating public apps: apps that are meant for one-to-many distribution via the Shopify App Store. For developers who are new to the Shopify ecosystem, public apps are the fastest way to get up and running, and to connect your solution with our existing merchant base.</p> <p>In addition to their type, apps can take two different forms: standalone apps and embedded apps. </p> <p><a href="https://shopify.dev/concepts/apps?itcat=partner_blog&itterm=how_to_build_a_shopify_app#standalone-apps">Standalone apps</a> expose their own user interface, on their own web domain, and don’t have access to app extensions (see below). <a href="https://shopify.dev/concepts/apps?itcat=partner_blog&itterm=how_to_build_a_shopify_app#embedded-apps">Embedded apps</a> are hosted on your own infrastructure, but integrate more deeply with Shopify using <a href="https://shopify.dev/tools/app-bridge?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Shopify App Bridge</a>, and display directly in the Shopify merchant admin or point-of-sale (POS) inside an <code class="marketing-code">iframe</code>. </p> <p>Embedded apps also enable you to add features to certain parts of Shopify’s user interface (UI) and online stores via <a href="https://shopify.dev/docs/app-extensions?itcat=partner_blog&itterm=how_to_build_a_shopify_app">app extensions</a>. When you use an app extension, Shopify relays information to your app when the merchant interacts with Shopify, then surfaces your app back to the merchant via the extension. App extensions can be used to extend into:</p> <ul> <li>The Shopify Admin</li> <li>The online store</li> <li>Shopify POS</li> <li>Shopify Flow</li> <li>Shopify Kit</li> </ul> <p>Because of how closely they're integrated with Shopify and how much better of a merchant experience they deliver, we recommend building embedded apps, and this guide will walk you through that process. If you’re still brainstorming what use case your app will serve, read our chapter on <a href="#how-to-validate">validating your app idea.</a></p> <blockquote class="border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [&_p]:mb-4 [&_cite]:font-aktivgroteskextended [&_cite]:text-sm [&_cite]:not-italic [&_cite]:font-medium [&_cite]:tracking-[-0.0175rem] [&_footer]:mt-4 [&_cite::before]:content-["–"] [&_cite::before]:mr-1 border-partners-highlight">"We recommend building embedded apps because of how closely they integrate with Shopify and how much more they improve the merchant experience."</blockquote> <h3 id="merchant-buyer-data">Merchant and buyer data</h3> <p>With millions of merchants using the Shopify platform to power their businesses, it’s important that every developer takes their trust and security—and that of their customers’—seriously. </p> <p><a href="/ng/legal/api-terms?itcat=partner_blog&itterm=how_to_build_a_shopify_app">The Shopify API License and Terms of Use</a> is the final word on what is allowed and not allowed on Shopify’s platform. You can also visit the <a href="https://shopify.dev/concepts/trust-and-security?itcat=partner_blog&itterm=how_to_build_a_shopify_app">trust and security page</a> in our docs for information on the following:</p> <ul> <li>Authentication and API keys</li> <li>API rate limits</li> <li>API versioning</li> <li>Data privacy and sharing</li> <li><a href="https://shopify.dev/concepts/trust-and-security/gdpr?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Global GDPR compliance</a></li> <li><a href="https://shopify.dev/tutorials/add-gdpr-webhooks-to-your-app?itcat=partner_blog&itterm=how_to_build_a_shopify_app#mandatory-webhooks">Mandatory webhooks</a></li> </ul> <p>These rules are designed to make using the Shopify platform fair and transparent for everyone, while protecting the data of our merchants and their customers. You can learn more about <a href="#app-secure">app security best practices</a> below.</p> <h3 id="app-store">The Shopify App Store</h3> <p><img class="block block--bordered" src="https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-screenshot-of-app-store-homepage.jpg?v=1614173290" alt="How to build a Shopify app: Screenshot of the Shopify App Store home page with a search bar to search for specific apps, a section below that highlighting four staff picks, and a section at the bottom highlighting four trending apps." loading="lazy"></p> <p><a href="https://apps.shopify.com?itcat=partner_blog&itterm=how_to_build_a_shopify_app">The Shopify App Store</a> is the easiest way for merchants to find apps that enable the functionality they need to build their stores. The Shopify App Store is organized by categories, and has a robust search feature and recommendation algorithm that helps merchants find the apps they need.</p> <p>All public apps are given a listing page in the Shopify App Store. <a href="https://shopify.dev/concepts/app-store/visibility?itcat=partner_blog&itterm=how_to_build_a_shopify_app#listed-apps">Listed apps</a> are publicly available to all merchants, while <a href="https://shopify.dev/concepts/app-store/visibility?itcat=partner_blog&itterm=how_to_build_a_shopify_app#unlisted-apps">unlisted apps</a> have limited visibility. Depending on your use case, both listed and unlisted apps have their own benefits.</p> <p>Listed apps are visible in the Shopify App Store, allowing you to reach many merchants and highlight the features your app provides. With listed apps, you can take advantage of features like <a href="https://shopify.dev/concepts/app-store/advertising?itcat=partner_blog&itterm=how_to_build_a_shopify_app">ads in the app store</a>.</p> <div class="marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [&_h2]:!mt-0 [&_h2]:mb-6 [&_h2]:text-t5 [&_h3]:!mt-0 [&_h3]:mb-6 [&_h3]:text-t7 [&_h4]:!mt-0 [&_h4]:mb-6 [&_h4]:text-t8 [&_ul]:!mt-0 [&_ul]:mb-6 [&_ul:last-child]:mb-0 [&_ol]:!mt-0 [&_ol]:mb-6 [&_ol:last-child]:mb-0 [&_p]:!mt-0 [&_p]:mb-6 [&_p:last-child]:mb-0 border-partners-highlight"> <p><strong>Benefits of listed apps</strong></p> <ul> <li>Only way to be discoverable by merchants through search</li> <li>Increased organic reach</li> <li>Brand awareness</li> <li>Increased trust from reviews</li> <li>Helps sell features</li> <li>Leverage Shopify App Store ads</li> </ul> </div> <p>Unlisted apps are public apps that are <em>not</em> visible in the Shopify App Store (though they do still require an <a href="https://shopify.dev/concepts/app-store/getting-your-app-approved/app-requirements?itcat=partner_blog&itterm=how_to_build_a_shopify_app">app listing</a>). This allows you to control who can install your app, or hide your app during down seasons (for seasonal apps) or periods of maintenance. However, we recommend publicly listing your app to take full advantage of the opportunities and features of the Shopify App Store.</p> <div class="marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [&_h2]:!mt-0 [&_h2]:mb-6 [&_h2]:text-t5 [&_h3]:!mt-0 [&_h3]:mb-6 [&_h3]:text-t7 [&_h4]:!mt-0 [&_h4]:mb-6 [&_h4]:text-t8 [&_ul]:!mt-0 [&_ul]:mb-6 [&_ul:last-child]:mb-0 [&_ol]:!mt-0 [&_ol]:mb-6 [&_ol:last-child]:mb-0 [&_p]:!mt-0 [&_p]:mb-6 [&_p:last-child]:mb-0 border-partners-highlight"> <p><strong>Benefits of unlisted apps</strong></p> <ul> <li>Focus on a targeted merchant base</li> <li>More control over growth</li> <li>Helpful for seasonal apps</li> <li>Good for maintenance periods</li> </ul> </div> <p>When starting out on Shopify, the Shopify App Store is likely going to be the main source of leads and installs of your app. Optimizing your app listing page, setting your app up for success, and leveraging tools like ads in the Shopify App Store are all ways of increasing installs and sales. We’ll dive deeper into the Shopify App Store and how to use it in the <a href="#submission-to-store">Submitting your app to the Shopify App Store</a> section of this guide.</p> <h3 id="getting-started">Getting started with your app</h3> <p>Now that you have an understanding of the basics of the Shopify platform, you’re ready to start validating your app idea to understand the business opportunity of building with Shopify.</p> <h4>Additional resources</h4> <ul> <li>Blog post: <a href="/ng/partners/blog/the-essential-list-of-resources-for-shopify-app-development" title="The essential list of resources for Shopify app development">The Essential List of Resources for Shopify App Development </a> </li> <li>Blog post: <a href="/ng/partners/blog/online-store-app-extensions" title="Online store app extensions">Extend Into the Storefront With Online Store App Extensions </a> </li> <li>Blog post: <a href="/ng/partners/blog/point-of-sale-apps" title="Point of sale apps">How to Build Point of Sale Apps Using Shopify App Bridge </a> </li> <li>Blog post: <a href="/ng/partners/blog/shopify-subscription-apis" title="Shopify subscription APIs">Introducing Shopify Subscription APIs: Build Apps That Integrate with Shopify Checkout </a> </li> <li>Blog post: <a href="/ng/partners/blog/gdpr-compliance" title="What App Developers Need to Know About GDPR">What App Developers Need to Know About GDPR </a> </li> <li>Blog post: <a href="/ng/partners/blog/web-security-2018" title="Web Security Fundamentals">Web Security Fundamentals: What Every Developer Should Know </a> </li> <li>Docs: <a href="https://shopify.dev/tools/app-bridge?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Shopify App Bridge</a> </li> <li>Docs: <a href="https://shopify.dev/tutorials/authenticate-your-app-using-session-tokens?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Authenticate your app using session tokens (tutorial)</a> </li> <li>Docs: <a href="https://shopify.dev/tutorials/embed-your-app-in-the-shopify-admin?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Embed your app in the Shopify admin (tutorial)</a> </li> </ul> <h2 id="how-to-validate">2. How to validate your app idea</h2> <p><img class="block block--bordered" src="https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-validate-your-app-idea.jpg?v=1614173213" alt="How to build a Shopify app: Illustration of two women tilting a large light bulb to the right." loading="lazy"></p> <p>You’ve got an idea for an app—and it’s <em>good</em>. Now that you know how apps fit into Shopify’s ecosystem, you’re ready to dive into the design process. But wait, are you? Validating your idea is a step in the app-building process you definitely shouldn’t skip.</p> <p>Validating your app idea gives you a much higher chance of success because you know you’re building something that your target user needs—and, in turn, building something that has a higher chance of getting more installs. </p> <p>The key with validation is to not get caught up in research, but to learn enough that will make your minimum viable product (MVP) something that you can tweak and build on.</p> <p>In this section, we’ll dive into how to develop an app that solves a real merchant problem, how to validate your idea through research, and the market shifts and trends you’ll need to consider.</p> <div data-sanitized-data-partners-signup="app_developer" data-partners-signup="app_developer"></div> <h3 id="step-validation">4 steps to validate your app idea</h3> <p>Validating your app idea is a process unique to your experience and the needs of your target market. It’s an investment in your future success. Developers Preetam Nath and Sankalp Jonna spent two months investigating whether their first app idea was valid before starting any design or development, a process their team replicated for their second app, <a href="https://www.delightchat.io/" rel="nofollow noopener noreferrer" target="_blank">DelightChat</a>.</p> <p>“We didn't want to build something and realize nobody's going to use it. We've had that situation in the past,” Nath said. “Although we took a longer approach, we wanted to understand what’s happening in the ecosystem and what the various problems are.”</p> <p>While there are many ways to prove your app idea is a good one, here are four key questions to answer that will help get you started:</p> <ol> <li>Does this idea solve a real merchant problem?</li> <li>How is my target market trying to solve this problem right now?</li> <li>Are merchants willing to pay for a solution to this problem?</li> <li>Can we actually build the app?</li> </ol> <p>Let’s explore each of these questions more in depth.</p> <h4>1. Does your app idea solve a real merchant problem?</h4> <p>First, you have to clearly define what a “real problem” means. Problem-solving is a full-time job for merchants, so it can be challenging to know where to begin. </p> <p>A real problem is something that store owners are actively spending a lot of time, money, stress, and/or effort trying to solve. So how do you find out what merchants’ problems are? You go right to the source.</p> <p>Nath and Jonna posted questions in forums, such as the <a href="https://www.reddit.com/r/shopify/" rel="nofollow noopener noreferrer" target="_blank">Shopify subreddit</a> or the <a href="https://community.shopify.com/c/Shopify-Community/ct-p/en">Shopify Community Forum</a>, and were able to have conversations with merchants via direct messages to get clear answers to their questions. They also joined various <a href="https://www.facebook.com/search/groups/?q=shopify" rel="nofollow noopener noreferrer" target="_blank">Facebook groups</a> to listen and learn more about merchant frustrations.</p> <p>If you’re working with merchants already, consider sending out a feedback form or questionnaire to find out more details about the problems they face. If you don’t work with merchants yet, or you’re ready to learn more, it’s time to move on to question number two.</p> <p>Once you know your app can solve a real merchant problem, the next step is to learn more about how (or if) merchants are already trying to fix the problem themselves, and anticipate any new challenges they could face within their industry. </p> <h5>What’s happening in the industry and what are the trends?</h5> <p>There are unique challenges within every industry and at every stage of the merchant journey—and each stage is a potential billion-dollar industry you can tap into. Keep up to date on trends and disruptions within a certain industry, such as marketing, shipping, finance, customer support, or product sourcing to learn its past, present, and future concerns and ambitions.</p> <blockquote class="border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [&_p]:mb-4 [&_cite]:font-aktivgroteskextended [&_cite]:text-sm [&_cite]:not-italic [&_cite]:font-medium [&_cite]:tracking-[-0.0175rem] [&_footer]:mt-4 [&_cite::before]:content-["–"] [&_cite::before]:mr-1 border-partners-highlight">"There are unique challenges within every industry and at every stage of the merchant journey—and each stage is a potential billion-dollar industry you can tap into."</blockquote> <p>Taking the time to understand your target market, potential users, and industry trends will save you time and effort when it comes to refining your MVP. This comes down to the research you do before you begin to build. Learning the <a href="/ng/partners/blog/app-development-business-trends" title="app development business trends">app development business trends</a> applicable to your app idea is an ongoing process, so taking advantage of your existing expertise or knowledge will help get you started.</p> <div class="marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [&_h2]:!mt-0 [&_h2]:mb-6 [&_h2]:text-t5 [&_h3]:!mt-0 [&_h3]:mb-6 [&_h3]:text-t7 [&_h4]:!mt-0 [&_h4]:mb-6 [&_h4]:text-t8 [&_ul]:!mt-0 [&_ul]:mb-6 [&_ul:last-child]:mb-0 [&_ol]:!mt-0 [&_ol]:mb-6 [&_ol:last-child]:mb-0 [&_p]:!mt-0 [&_p]:mb-6 [&_p:last-child]:mb-0 border-partners-highlight"> <p>Over the span of just three months in early 2020, <a href="https://www.mckinsey.com/business-functions/strategy-and-corporate-finance/our-insights/five-fifty-the-quickening#" rel="nofollow noopener noreferrer" target="_blank">ecommerce growth accelerated 10 years</a> into the future as COVID-19 changed how many merchants do business. </p> <p><a href="/ng/partners/blog/app-challenge-tilo-mitra?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Read how Shopify App Challenge winner Tilo Mitra built his first app</a> in response to these new challenges.</p> </div> <p>Leveraging any prior experience with a current client, or within the industry or adjacent market you’re building an app for, will give you a competitive advantage, because you’re already familiar with your users’ pain points and industry trends.</p> <div class="marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [&_h2]:!mt-0 [&_h2]:mb-6 [&_h2]:text-t5 [&_h3]:!mt-0 [&_h3]:mb-6 [&_h3]:text-t7 [&_h4]:!mt-0 [&_h4]:mb-6 [&_h4]:text-t8 [&_ul]:!mt-0 [&_ul]:mb-6 [&_ul:last-child]:mb-0 [&_ol]:!mt-0 [&_ol]:mb-6 [&_ol:last-child]:mb-0 [&_p]:!mt-0 [&_p]:mb-6 [&_p:last-child]:mb-0 border-partners-highlight"> <p><a href="/ng/partners/blog/chatdesk-app-developer-case-study?itcat=partner_blog&itterm=how_to_build_a_shopify_app" title="Chatdesk app developer case study">Read our case study</a> to learn how co-founders Aneto Okonkwo and Andrew Olaleye built customer support app <a href="https://apps.shopify.com/chatdesk-email-social-media-customer-service?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Chatdesk</a> based on experiences, goals, and lessons learned in their previous careers.</p> </div> <h5>Conducting market research</h5> <p>Even if you don’t already have experience in the industry you’re building for, you can conduct <a href="/ng/partners/blog/market-research-app?itcat=partner_blog&itterm=how_to_build_a_shopify_app" title="market research app">market research</a> for your app. Figuring out what excites or frustrates your customers will help shape your product. </p> <p>At this point, you’ve already spoken to merchants and figured out how and where your app will add value. Gain more context about how your app will fit into the “big picture” by:</p> <ul> <li>Reading industry publications and white papers, such as Shopify’s annual <a href="/ng/plus/commerce-trends?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Future of Commerce report</a>, and McKinsey’s quarterly <a href="https://www.mckinsey.com/business-functions/strategy-and-corporate-finance/our-insights/five-fifty-the-quickening#" rel="nofollow noopener noreferrer" target="_blank">Five Fifty report</a> </li> <li>Following industry leaders and experts on social media, such as Shopify leadership team: Director of Partnerships, <a href="https://twitter.com/fatimayusf" rel="nofollow noopener noreferrer" target="_blank">Fatima Yusuf</a>, President <a href="https://twitter.com/harleyf" rel="nofollow noopener noreferrer" target="_blank">Harley Finklestein</a>, CTO <a href="https://twitter.com/jmwind" rel="nofollow noopener noreferrer" target="_blank">Jean-Michel Lemieux</a>, and CEO <a href="https://twitter.com/tobi" rel="nofollow noopener noreferrer" target="_blank">Tobi Lutke</a> </li> <li>Monitoring news reports about commerce and business</li> <li>Speaking to experts in your industry</li> <li>Creating a focus group</li> <li>Analyzing merchant feedback and concerns on social media and in <a href="https://community.shopify.com/c/Shopify-Community/ct-p/en?itcat=partner_blog&itterm=how_to_build_a_shopify_app">community forums</a> </li> <li>Analyzing app reviews on the <a href="https://apps.shopify.com?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Shopify App Store</a> </li> <li>Subscribing to newsletters like <a href="/ng/partners/blog/whats-new-2021?itcat=partner_blog&itterm=how_to_build_a_shopify_app">What’s New for Shopify Developers</a> </li> <li>Attending events like <a href="https://events.shopify.com/partnertownhall?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Shopify Partner Town Hall</a> </li> <li>Subscribing to relevant blogs, such as the <a href="/ng/partners/blog?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Shopify Partner Blog</a>, the <a href="/ng/?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Shopify Engineering Blog</a>, and the <a href="/ng/blog?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Shopify Merchant Blog</a> </li> <li>And more</li> </ul> <figure><img class="block block--bordered" src="https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-fatima-yusuf-tweet.jpg?v=1614173125" alt="how to build a shopify app: Screenshot of a viral tweet by Shopify Director of Partnerships Fatima Yusuf. The tweet says: Shopify surpassed 5,000 apps in the App Store in 2020, but the growth has only just begun. Here are some hashtag commerce trends I expect we'll see more of in Shopify's app ecosystem in 2021. A yellow emoji hand points down to indicate there is a thread of tweets and to read on." loading="lazy"> <figcaption>Shopify Director of Partnerships Fatima Yusuf recently shared <a href="https://twitter.com/fatimayusf/status/1346222106049183744" rel="nofollow noopener noreferrer" target="_blank">a full thread</a> of anticipated commerce trends in Shopify’s app ecosystem in 2021.</figcaption> </figure> <p>Some of the most successful apps in the Shopify App Store started out by proactively solving merchant problems. Look back on past wins with specific clients, platforms, or markets to see if there are any trends or patterns you can build on.</p> <h5>Will this app solve a niche need, or a feature or functionality gap?</h5> <p>Although there are multiple apps in each category of the Shopify App Store, remember that with millions of diverse merchants growing by the day, every merchant may need something a little different, depending on their size, their industry, their goals, and where they are in the world. This means there are niche needs in every category that you can find and create a solution for. The apps that work for one segment won't necessarily work for another.</p> <blockquote class="border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [&_p]:mb-4 [&_cite]:font-aktivgroteskextended [&_cite]:text-sm [&_cite]:not-italic [&_cite]:font-medium [&_cite]:tracking-[-0.0175rem] [&_footer]:mt-4 [&_cite::before]:content-["–"] [&_cite::before]:mr-1 border-partners-highlight">"Adding significant value to a niche merchant problem is one key to standing out."</blockquote> <p>There are so many opportunities to address a merchant pain point that hasn’t yet been addressed. Adding significant value to a niche merchant problem is one key to standing out. For example, if you want to build an SMS app and feel like there's too much competition, you can further investigate the needs of a key region or specific merchant segment, and you home in on the solution that makes sense for them.</p> <div class="marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [&_h2]:!mt-0 [&_h2]:mb-6 [&_h2]:text-t5 [&_h3]:!mt-0 [&_h3]:mb-6 [&_h3]:text-t7 [&_h4]:!mt-0 [&_h4]:mb-6 [&_h4]:text-t8 [&_ul]:!mt-0 [&_ul]:mb-6 [&_ul:last-child]:mb-0 [&_ol]:!mt-0 [&_ol]:mb-6 [&_ol:last-child]:mb-0 [&_p]:!mt-0 [&_p]:mb-6 [&_p:last-child]:mb-0 border-partners-highlight"> <p>Learn how <a href="https://apps.shopify.com/heyday?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Heyday</a> addressed a functionality gap and established a differentiated value proposition to successfully launch their <a href="/ng/partners/blog/self-serve-app?itcat=partner_blog&itterm=how_to_build_a_shopify_app" title="self-serve app">self-serve app</a> on the Shopify App Store in 2020.</p> </div> <p>There’s no one correct way to differentiate your app’s value proposition. Nath says he got to know where gaps in his chosen vertical existed by analyzing the reviews of other apps to understand what challenges were going unaddressed. This work helped Nath understand what underserved areas their app could address, and what their users’ expectations would be. </p> <p>“It took me a whole day, but it was worth it because now I knew clearly what merchants gave five-star reviews for, and also what they hated,” he said.</p> <p>It’s important to remember that you’re not bringing merchants any value if you just create a copycat app. Without adding a significant, unique, or new improvement, your app won’t stand out. It’s also an ethical issue and you could be in violation of copyright.</p> <blockquote class="border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [&_p]:mb-4 [&_cite]:font-aktivgroteskextended [&_cite]:text-sm [&_cite]:not-italic [&_cite]:font-medium [&_cite]:tracking-[-0.0175rem] [&_footer]:mt-4 [&_cite::before]:content-["–"] [&_cite::before]:mr-1 border-partners-highlight">"It’s important to remember that you’re not bringing merchants any value if you just create a copycat app. Without adding a significant, unique, or new improvement, your app won’t stand out. It’s also an ethical issue and you could be in violation of copyright."</blockquote> <h4>2. How is your target market trying to solve this problem right now?</h4> <p>The fastest and best way to understand how your target market is trying to solve this problem is by talking to real merchants. The good news is that it’s easier than you might think. </p> <p>Once Nath and Jonna had identified the right communities to join to learn from, and connect with merchants, they connected with them directly to learn how they were already trying to solve their problems.</p> <p>“Just reach out to five of these people you see on Shopify Facebook groups, subreddits, or the forum and ask them, ‘Do you need this app? If not, why? If yes, what do you need it for?’ That will open up Pandora's box of qualitative information for you,” Nath says.</p> <p>Taking the time to speak with your target users can teach you not only what their problems are, but also what they feel constitutes a solution. </p> <p>For example, the merchant could already be paying someone to take care of the problem for them, which can be expensive or may not fulfill their needs. Sometimes merchants won’t necessarily consider outsourced work a <a href="/ng/partners/blog/build-apps-that-address-merchant-pain-points" title="build apps that address merchant pain points">pain point</a>, because it’s a task that is already being handled. This is important to consider because you may have to investigate deeper and ask specific, nuanced questions to truly understand both the problem and how your app aligns with the user’s needs.</p> <p>Furthermore, if you’re considering building a custom app for one merchant to solve their unique needs, investigate whether it would be applicable to more merchants in the same industry or with similar traits. There’s a good chance you could better serve a broader market with similar challenges by publishing a public app in the <a href="https://apps.shopify.com?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Shopify App Store</a>. </p> <h4>3. Are merchants willing to pay for a solution to this problem? </h4> <p>Figuring out whether you can make money with your app idea is the next piece of the puzzle.</p> <p>“If you're looking to build a free app, just to get a feel of the ecosystem, that’s fine,” Nath says. “But if you want to build your app into a product or business that replaces your salary, you need to know if people are willing to pay for it.”</p> <blockquote class="border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [&_p]:mb-4 [&_cite]:font-aktivgroteskextended [&_cite]:text-sm [&_cite]:not-italic [&_cite]:font-medium [&_cite]:tracking-[-0.0175rem] [&_footer]:mt-4 [&_cite::before]:content-["–"] [&_cite::before]:mr-1 border-partners-highlight"> <p>If you want to build your app into a product or business that replaces your salary, you need to know if people are willing to pay for it.</p> <footer><cite>Preetam Nath, Co-founder and CEO, DelightChat</cite></footer> </blockquote> <p>The best way to find out is to discover if people are already using existing solutions, and if so, how much they are paying for them. </p> <p>“That price point fundamentally changes your business,” Nath says. “As we were building DelightChat, we were very cognizant that we wanted to be in this $100-$200 price range, where we are serving merchants whose businesses are at a certain level.”</p> <p>Many apps offer a free version and/or a free trial so merchants can try out its various features to see if it’s the right fit for their needs.</p> <p>As discussed above, if your target audience isn’t already using an app or software to solve the problem you’re considering, they could also be hiring freelancers, paying someone part-time to manually work on the issue, or have even hired a full-time employee. How much are they paying for that solution? Would they be willing to pay instead for your app? This is where you’ll have to ask merchants in forums and direct conversations to learn more about their stop-gap solutions.</p> <h4>4. Do you have the expertise and time to build this app?</h4> <p>Once you take all merchant insights, industry trends, and current opportunities into consideration, and have researched your target market, you need to decide if what you want to build—and by when—is possible. There are varying degrees of complexity behind an app and you want to be sure that your timeline for building is realistic.</p> <p>“Some apps might take you a year to build if you're a one-person team, and some apps can be built in two weeks as a solo person,” Nath says. “You need to pick problems you can solve. Otherwise, you're just setting yourself up for failure. ”</p> <blockquote class="border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [&_p]:mb-4 [&_cite]:font-aktivgroteskextended [&_cite]:text-sm [&_cite]:not-italic [&_cite]:font-medium [&_cite]:tracking-[-0.0175rem] [&_footer]:mt-4 [&_cite::before]:content-["–"] [&_cite::before]:mr-1 border-partners-highlight"> <p>Some apps might take you a year to build if you're a one-person team, and some apps can be built in two weeks as a solo person. You need to pick problems you can solve. Otherwise, you're just setting yourself up for failure.</p> <footer><cite>Preetam Nath, Co-founder and CEO, DelightChat</cite></footer> </blockquote> <p>We’ll dive deeper into how to build a Shopify app in the Tools and Resources section of this guide.</p> <p>If you decide to build a Shopify app with a higher price point, merchants will expect a high-quality app with more features. That being said, remember that your app doesn’t need to have every single feature to be high value. Your users will give you feedback on your MVP, which you can use to improve your app over time and build the features they truly want.</p> <div class="marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [&_h2]:!mt-0 [&_h2]:mb-6 [&_h2]:text-t5 [&_h3]:!mt-0 [&_h3]:mb-6 [&_h3]:text-t7 [&_h4]:!mt-0 [&_h4]:mb-6 [&_h4]:text-t8 [&_ul]:!mt-0 [&_ul]:mb-6 [&_ul:last-child]:mb-0 [&_ol]:!mt-0 [&_ol]:mb-6 [&_ol:last-child]:mb-0 [&_p]:!mt-0 [&_p]:mb-6 [&_p:last-child]:mb-0 border-partners-highlight"> <p><strong>Recap: Four questions to answer when validating your app idea</strong></p> <ol> <li>Is your app idea solving a real problem?</li> <li>How is your target market trying to solve this problem right now?</li> <li>Is this a problem people are willing to pay to solve?</li> <li>Do you have the necessary expertise and time to build the app?</li> </ol> </div> <h3 id="right-reasons">Building for the right reasons</h3> <p>Now that you know how to validate an app idea that is driven by the business opportunity of building with Shopify, you’re ready to dive into the app design principles and key resources you can use to design your Shopify app.</p> <h4>Additional resources</h4> <ul> <li>Blog post: <a href="/ng/partners/blog/build-apps-that-address-merchant-pain-points" title="Build apps that address merchant pain points">Why You Should Build Apps That Address Merchant Pain Points </a> </li> <li>Blog post: <a href="/ng/partners/blog/how-to-do-a-competitive-analysis" title="How to do a competitive analysis">How to do a Competitive Analysis That Drives Results for Your Clients </a> </li> <li>Blog post: <a href="/ng/partners/blog/shopify-app-challenge" title="Shopify app challenge">Introducing the Shopify App Challenge: Commerce and COVID-19 </a> </li> <li>Blog post: <a href="/ng/partners/blog/market-research-app" title="Market research app">Research 101: How to Conduct Market Research for Your App </a> </li> <li>Guide: <a href="/ng/partners/blog/shopify-app-store-downloads#research" title="Shopify App Store downloads">How to Get More App Downloads in the Shopify App Store </a> </li> </ul> <h2 id="consider-design">3. What to consider as you design your Shopify app</h2> <p><img class="block block--bordered" src="https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-what-to-consider.jpg?v=1614176453" alt="How to build a Shopify app: Illustration of two people. One is looking at a fold-out instruction card and the other has their arms stretched out holding a measuring tape. Both are looking at the instructions." loading="lazy"></p> <p>Designing an app that integrates seamlessly into a merchant’s online store makes the user experience (UX) more familiar and appealing, and the user interface (UI) more intuitive. The design principles you incorporate into your app not only represent your user’s brand, but their values as well. The more user friendly, accessible, and beautiful your app is, the more likely you will have happier customers and higher retention rates.</p> <p>In this section, we’ll dive into what factors you need to consider as you design your Shopify app, and the tools that can make designing your app easier and faster.</p> <div data-sanitized-data-partners-signup="app_developer" data-partners-signup="app_developer"></div> <h3 id="polaris-getting-started">Getting started with Polaris</h3> <figure><img class="block block--bordered" src="https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-polaris-v-6.jpg?v=1614176541" alt="How to build a Shopify app: Polaris – Our design system helps us work together to build a great experience for all of Shopify's merchants." loading="lazy"> <figcaption>The recent launch of <a href="https://polaris.shopify.com/whats-new/whats-new?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Polaris v6.0.0</a> offers a refreshed color palette, icons, as well as a reduction to our bundle size and additional accessibility features.</figcaption> </figure> <p><a href="https://polaris.shopify.com?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Polaris</a> is Shopify’s open-source design system used internally and by third-party developers to design and build apps that seamlessly integrate into a merchant’s store. Polaris helps speed up the design process and adheres to web accessibility standards, while creating an app experience that is familiar to users. </p> <p>While we recommend you build an app within the Shopify Admin, you can use Polaris regardless of whether your app is embedded within the Shopify Admin or operates outside of it.</p> <p>“From a front-end developer’s perspective, one of the things I always hone in on is the usefulness of Polaris,” says Jennifer Gray, a front-end developer at Shopify. “If you want to move forward with an embedded app, which is what we encourage, Polaris gives that seamless user experience.”</p> <p>Polaris components speed up your development process because you don’t have to build custom UI elements. Polaris components are pre-built, flexible, and easy to implement, so you can create a positive UX even if design isn’t your strong suit.</p> <p>Polaris components are a collection of interface elements that can be used across your app. They include:</p> <ul> <li>Colors</li> <li>Typography</li> <li>Illustrations</li> <li>Icons</li> <li>Interaction states</li> <li>Spacing</li> </ul> <figure><img class="block block--bordered" src="https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-screenshot-of-polaris-page-component.jpg?v=1614176624" alt="How to build a Shopify app: Screenshot of a Polaris Page component in the Admin demonstrating how a three-quarter-inch leather pet collar product would appear." loading="lazy"> <figcaption>The <a href="https://polaris.shopify.com/components/structure/page?itcat=partner_blog&itterm=how_to_build_a_shopify_app#all-examples">Polaris Page component</a> is one of the most commonly used and is highly customizable.</figcaption> </figure> <p>Leveraging common conventions allows your app to look like it “belongs” in the Shopify Admin. Your users won’t need to learn to navigate a new UI if you make use of conventions they’re already familiar with. Polaris conventions also take accessibility into consideration.</p> <div class="marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [&_h2]:!mt-0 [&_h2]:mb-6 [&_h2]:text-t5 [&_h3]:!mt-0 [&_h3]:mb-6 [&_h3]:text-t7 [&_h4]:!mt-0 [&_h4]:mb-6 [&_h4]:text-t8 [&_ul]:!mt-0 [&_ul]:mb-6 [&_ul:last-child]:mb-0 [&_ol]:!mt-0 [&_ol]:mb-6 [&_ol:last-child]:mb-0 [&_p]:!mt-0 [&_p]:mb-6 [&_p:last-child]:mb-0 border-partners-highlight"> <p>As you build your Shopify app, keep the <a href="https://polaris.shopify.com/foundations/experience-values?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Shopify experience values</a> in mind:</p> <p><strong>Considerate:</strong> Be thoughtful about how your users will access your app, including their device, language, geography, and accessibility needs. </p> <p><strong>Empowering:</strong> Shopify merchants have a wide range of skill levels, needs, goals, and experiences. Optimize your app for the most important tasks by removing unnecessary complexity, but give your users access to additional features if they need it.</p> <p><strong>Crafted:</strong> A beautiful app is only as good as its ability to help users solve a problem. Paying attention to thoughtful details or design considerations can make or break the user experience.</p> <p><strong>Efficient:</strong> Keep your design and tasks simple and clear. Users should be able to complete actions quickly, accurately, and easily.</p> <p><strong>Trustworthy:</strong> Be transparent about what your app can and cannot do. A trustworthy app demonstrates to users that its developers are acting in their best interests. This is reflected holistically in the app’s UX and UI.</p> <p><strong>Familiar: </strong>When people feel comfortable using digital products, they can focus on the task at hand, rather than trying to navigate a complicated UI. Use familiar patterns so the UX is straightforward and intuitive. </p> </div> <p>While Polaris gives both designers and developers the tools they need to design a beautiful and functional Shopify app, that doesn’t mean you can’t apply some of your own creativity to the design process.</p> <p>The unique needs of your users should always be your main priority when designing your Shopify app—you are free to add custom components that should also feel right at home in the Shopify Admin.</p> <p>Shopify Partner <a href="/ng/partners/blog/shopify-commerce-awards-past-winners?itcat=partner_blog&itterm=how_to_build_a_shopify_app" title="Shopify Commerce Awards past winners – Pledgeling">Pledgeling</a> won a 2017 Shopify Commerce Award for <a href="/ng/partners/blog/shopify-commerce-awards-2017-winners?itcat=partner_blog&itterm=how_to_build_a_shopify_app#polaris" title="Shopify Commerce Awards Best App Design Using Polaris">Best App Design Using Polaris</a>, where they were recognized by the judges for their Polaris design. They also added custom components that their users needed, while keeping the UX and UI consistent with Polaris principles.</p> <figure><img class="block block--bordered" src="https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-pledgelings-give-and-grow-donation-app.jpg?v=1614176857" alt="How to build a Shopify app: Screenshot of Give & Grow app dashboard includes introduction text, navigation controls, and a 'Get started' button." loading="lazy"> <figcaption>Pledgeling’s <a href="https://apps.shopify.com/give-grow?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Give & Grow Donations</a> app won the 2017 Shopify Commerce Award for <a href="/ng/partners/blog/shopify-commerce-awards-2017-winners?itcat=partner_blog&itterm=how_to_build_a_shopify_app#polaris" title="Shopify Commerce Awards Best App Design Using Polaris">Best App Design Using Polaris</a>.</figcaption> </figure> <p>Polaris ensures your app will fit seamlessly into a merchant’s work. Take some time to review the <a href="https://polaris.shopify.com/design/polaris-is-changing?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Polaris documentation</a>, which covers everything from design guidelines, accessibility considerations, internationalization, and information architecture.</p> <blockquote class="border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [&_p]:mb-4 [&_cite]:font-aktivgroteskextended [&_cite]:text-sm [&_cite]:not-italic [&_cite]:font-medium [&_cite]:tracking-[-0.0175rem] [&_footer]:mt-4 [&_cite::before]:content-["–"] [&_cite::before]:mr-1 border-partners-highlight"> <p>If app developers don’t have a designer on their team, Polaris is exactly the tool they should be using.</p> <footer><cite>Jennifer Gray, Shopify Front-end Developer</cite></footer> </blockquote> <p>“If app developers don’t have a designer on their team, Polaris is exactly the tool they should be using,” Gray says.</p> <p>Polaris is an evolving design framework. The recent launch of <a href="https://polaris.shopify.com/whats-new/whats-new?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Polaris v6.0.0</a> offers refreshed visual styles with a new color system, rebuilt, high-quality components, a reduction to bundle size, and additional accessibility features among many other feature updates.</p> <div class="marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [&_h2]:!mt-0 [&_h2]:mb-6 [&_h2]:text-t5 [&_h3]:!mt-0 [&_h3]:mb-6 [&_h3]:text-t7 [&_h4]:!mt-0 [&_h4]:mb-6 [&_h4]:text-t8 [&_ul]:!mt-0 [&_ul]:mb-6 [&_ul:last-child]:mb-0 [&_ol]:!mt-0 [&_ol]:mb-6 [&_ol:last-child]:mb-0 [&_p]:!mt-0 [&_p]:mb-6 [&_p:last-child]:mb-0 border-partners-highlight"> <p>Explore some examples of standalone apps <a href="https://github.com/Shopify/polaris-react/tree/master/examples?itcat=partner_blog&itterm=how_to_build_a_shopify_app" rel="nofollow noopener noreferrer" target="_blank">using Polaris as the UI component library on GitHub</a>.</p> </div> <h3 id="accessibility-principles">The best app design embraces accessibility principles</h3> <p>Inclusive, accessible, and usable design are three principles that intersect when it comes to creating a digital product that everyone can use with ease. “Everyone” is a lot of people, with varying experiences and abilities, but it is possible to build a Shopify app that is inclusive, accessible, and usable to all.</p> <p>Apps with the best UX and UI are inclusive and accessible by design. <a href="/ng/partners/blog/inclusive-design?itcat=partner_blog&itterm=how_to_build_a_shopify_app" title="inclusive design">Inclusive design</a> considers the needs of all users, and benefits all users, regardless of their abilities.</p> <p>Three key factors that contribute to a high-quality, accessible UX are:</p> <ol> <li>A UX/UI design that is both functional and beautiful</li> <li>Consistent and helpful <a href="https://polaris.shopify.com/content/product-content?itcat=partner_blog&itterm=how_to_build_a_shopify_app#navigation">copy</a> that thoughtfully uses clear, plain language</li> <li>Actively incorporates principles of <a href="http://universaldesign.ie/What-is-Universal-Design/">universal design</a> and inclusivity</li> </ol> <p>We’ve already covered how to ensure your app is functional and aligns to the look and feel of your merchant’s work by following the Polaris design principles. Let’s explore the next two topics more in depth.</p> <h4>Your app copy: write for everyone</h4> <p>Designing a visually beautiful and functional app is a great start. It’s equally important that all the language you use to describe how to use your app is easy to understand. This means using straightforward language free from jargon or phrases that could confuse someone who is unfamiliar with the topic or the language itself. </p> <p>As of January 2020, English was the most popular language online, representing about <a href="https://www.statista.com/statistics/262946/share-of-the-most-common-languages-on-the-internet/" rel="nofollow noopener noreferrer" target="_blank">26 percent</a> of total internet users worldwide, followed by Chinese at 19 percent.</p> <figure><img class="block block--bordered" src="https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-graph-of-top-10-languages-used-on-internet.jpg?v=1614176938" alt="How to build a Shopify app: Horizontal bar chart. English, 25.9%. Chinese, 19.4%. Spanish, 7.9%. Arabic, 5.2%. Indonesian/Malaysian, 4.3%. Portuguese, 3.7%. French, 3.3%. Japanese, 2.6%. Russian, 2.5%. German, 2%. Rest of languages, 23.1%." loading="lazy"> <figcaption>The top 10 languages used on the internet account for 77 percent of global internet users as of January 2020, according to <a href="https://www.statista.com/statistics/262946/share-of-the-most-common-languages-on-the-internet/" rel="nofollow noopener noreferrer" target="_blank">recent research by Statista</a>.</figcaption> </figure> <p>Consider both your target user and your future potential growth users—it’s a good idea to make language a top priority within your app design. Learning <a href="/ng/partners/blog/multilingual-shopify-apps?itcat=partner_blog&itterm=how_to_build_a_shopify_app" title="How to build multilingual Shopify apps">how to build multilingual Shopify apps</a> will give you a competitive advantage.</p> <p>The Polaris content guidelines considers plain language to be at a United States Grade 7 reading level. There are many tools you can use to check if your content is grammatically correct and easily understandable. Many of these tools also can tell you the readability level.</p> <p>Here are three content tools you can use to get started:</p> <ul> <li> <a href="http://www.hemingwayapp.com/">Hemingway App</a> (free)</li> <li> <a href="https://www.grammarly.com/" rel="nofollow noopener noreferrer" target="_blank">Grammarly</a> (free and paid subscriptions)</li> <li> <a href="https://readable.com/" rel="nofollow noopener noreferrer" target="_blank">Readable</a> (paid, tiered, annual subscriptions)</li> </ul> <p>We’ll further explore the nuances of how to write for a global audience in the Internationalization section below.</p> <div class="marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [&_h2]:!mt-0 [&_h2]:mb-6 [&_h2]:text-t5 [&_h3]:!mt-0 [&_h3]:mb-6 [&_h3]:text-t7 [&_h4]:!mt-0 [&_h4]:mb-6 [&_h4]:text-t8 [&_ul]:!mt-0 [&_ul]:mb-6 [&_ul:last-child]:mb-0 [&_ol]:!mt-0 [&_ol]:mb-6 [&_ol:last-child]:mb-0 [&_p]:!mt-0 [&_p]:mb-6 [&_p:last-child]:mb-0 border-partners-highlight"> <p>Helpful <a href="https://polaris.shopify.com/content/product-content?itcat=partner_blog&itterm=how_to_build_a_shopify_app#navigation">tips</a> from the Polaris content guidelines:</p> <ul> <li>Write short sentences (ideally less than 15-20 words).</li> <li>Make your content scannable using headings and bullets.</li> <li>Always choose a short, simple word over a long and complicated one.</li> <li>Think about translations. Avoid idioms and phrases with indirect or ironic meanings.</li> <li>Avoid jargon. Only use industry-standard terms when you have reason to believe it will improve understanding. Spend time researching what words people actually use, instead of defaulting to what corporations call things.</li> <li>Edit out unnecessary or repeated words.</li> <li>Write for small screens first. These constraints can help you focus on the most important message.</li> <li>Read your content out loud. If you get tripped up or it doesn’t sound like something a human would say, your content needs to be revised.</li> </ul> </div> <p>Now that you have a solid grasp on how to write content within your app, let’s break down what it means to design your app to be inclusive and accessible.</p> <h4>Designing for accessibility, usability, and inclusion</h4> <p>As your app scales and grows, it’s important that it remains inclusive, accessible, and usable to Shopify’s millions of merchants. Each of those users have unique needs, so learning now how to support those needs will make scaling your app easier in the future. To that end, here are three design considerations to keep in mind:</p> <h5>1. <a href="https://polaris.shopify.com/foundations/accessibility?itcat=partner_blog&itterm=how_to_build_a_shopify_app"><strong>Accessibility</strong></a> </h5> <p><a href="https://polaris.shopify.com/components/get-started?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Polaris components</a> are designed to meet <a href="https://polaris.shopify.com/foundations/accessibility?itcat=partner_blog&itterm=how_to_build_a_shopify_app">accessibility</a> standards and maintain a consistent experience while your app is in use. If you haven’t already done so, it’s time to consider how you define your “average” user, and whether you have designed your app in a way that considers users who have disabilities. From <a href="/ng/partners/blog/keyboard-accessibility?itcat=partner_blog&itterm=how_to_build_a_shopify_app" title="keyboard accessibility">keyboard accessibility</a> to visual design elements, there’s a lot to consider.</p> <p>The World Health Organization reports that, as of December 2020, more than <a href="https://www.who.int/news-room/fact-sheets/detail/disability-and-health" rel="nofollow noopener noreferrer" target="_blank">1 billion people worldwide</a>—about 15 percent of the global population—live with some form of disability, and the numbers are increasing. Getting familiar with <a href="https://www.w3.org/WAI/standards-guidelines/wcag/" rel="nofollow noopener noreferrer" target="_blank">Web Content Accessibility Guidelines</a> is a great starting point to learn more about accessibility standards and techniques so you can apply these principles as you build your app.</p> <p>“<a href="https://thenextweb.com/podium/2019/09/27/the-huge-cost-of-ignoring-accessibility-when-designing-your-website/" rel="nofollow noopener noreferrer" target="_blank">Do not ignore accessibility</a> when designing and developing your app,” says Shopify Platform Accessibility Specialist Scott Vinkle. </p> <p>“Accessibility helps to ensure an <a href="https://www.w3.org/WAI/perspective-videos/" rel="nofollow noopener noreferrer" target="_blank">assistive technology</a>-friendly environment for people with disabilities,” Vinkle adds. “It also helps the aging population to use your site or app, <a href="https://www.deque.com/blog/seo-and-accessibility-real-talk/" rel="nofollow noopener noreferrer" target="_blank">increases SEO</a>, and decreases <a href="https://blog.usablenet.com/a-record-breaking-year-for-ada-digital-accessibility-lawsuits" rel="nofollow noopener noreferrer" target="_blank">accessibility-related lawsuits</a>. Provide people with disabilities an equal opportunity to unlock the power of commerce.”</p> <blockquote class="border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [&_p]:mb-4 [&_cite]:font-aktivgroteskextended [&_cite]:text-sm [&_cite]:not-italic [&_cite]:font-medium [&_cite]:tracking-[-0.0175rem] [&_footer]:mt-4 [&_cite::before]:content-["–"] [&_cite::before]:mr-1 border-partners-highlight"> <p>Provide people with disabilities an equal opportunity to unlock the power of commerce.</p> <footer><cite>Scott Vinkle, Shopify Platform Accessibility Specialist</cite></footer> </blockquote> <p>Keep these core principles of accessibility in mind when creating your app:</p> <ul> <li>Can the user <a href="https://www.w3.org/WAI/fundamentals/accessibility-principles/#perceivable" rel="nofollow noopener noreferrer" target="_blank">perceive</a> the content? People must be able to observe and identify content using one of the senses available to them.</li> <li>Can the user <a href="https://www.w3.org/WAI/fundamentals/accessibility-principles/#operable" rel="nofollow noopener noreferrer" target="_blank">operate</a> the user interface? People must be able to complete tasks using the input device that works best for them, such as a mouse or touchpad, keyboard, touchscreen, screen reader, voice dictation software, etc.</li> <li>Can the user <a href="https://www.w3.org/WAI/fundamentals/accessibility-principles/#understandable" rel="nofollow noopener noreferrer" target="_blank">understand</a> the content? Create content and user interfaces that people can comprehend. Use simple language, supplied in the correct language, in a consistent user experience.</li> <li>Is the content <a href="https://www.w3.org/WAI/fundamentals/accessibility-principles/#robust" rel="nofollow noopener noreferrer" target="_blank">robust</a>? Provide support for various devices and assistive technologies. Use standards based, semantic HTML and ARIA <a href="https://www.w3.org/TR/using-aria/#firstrule" rel="nofollow noopener noreferrer" target="_blank">where required</a>.</li> </ul> <p>Vinkle says it’s important to apply these principles and <a href="https://scottvinkle.me/blogs/work/testing-with-screen-readers" rel="nofollow noopener noreferrer" target="_blank">test with assistive technology</a>. </p> <blockquote class="border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [&_p]:mb-4 [&_cite]:font-aktivgroteskextended [&_cite]:text-sm [&_cite]:not-italic [&_cite]:font-medium [&_cite]:tracking-[-0.0175rem] [&_footer]:mt-4 [&_cite::before]:content-["–"] [&_cite::before]:mr-1 border-partners-highlight"> <p>Widen the usability of your app to include even more people. This has the potential to increase positive reviews and revenue generated by your app.</p> <footer><cite>Scott Vinkle, Shopify Platform Accessibility Specialist</cite></footer> </blockquote> <p>“Widen the usability of your app to include even more people” he says. “This has the potential to increase positive reviews and revenue generated by your app.”</p> <div class="marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [&_h2]:!mt-0 [&_h2]:mb-6 [&_h2]:text-t5 [&_h3]:!mt-0 [&_h3]:mb-6 [&_h3]:text-t7 [&_h4]:!mt-0 [&_h4]:mb-6 [&_h4]:text-t8 [&_ul]:!mt-0 [&_ul]:mb-6 [&_ul:last-child]:mb-0 [&_ol]:!mt-0 [&_ol]:mb-6 [&_ol:last-child]:mb-0 [&_p]:!mt-0 [&_p]:mb-6 [&_p:last-child]:mb-0 border-partners-highlight"> <p>Here are five assistive technology testing tools and insightful resources to help improve overall accessibility and app quality:</p> <ul> <li> <a href="https://www.paciellogroup.com/resources/contrastanalyser/" rel="nofollow noopener noreferrer" target="_blank">Color Contrast Analyzer</a>: Check the legibility and contrast of your app design elements using this app for Mac and Windows</li> <li> <a href="https://colororacle.org/" rel="nofollow noopener noreferrer" target="_blank">Color Oracle</a>: Simulate color blindness using this app available for Mac, Windows, and Linux</li> <li> <a href="https://github.com/getflourish/Sketch-Color-Contrast-Analyser" rel="nofollow noopener noreferrer" target="_blank">Sketch Color Contrast Analyzer</a>: Ensure your designs meet color contrast recommendations from within Sketch</li> <li> <a href="https://www.microsoft.com/en-us/design/inclusive" rel="nofollow noopener noreferrer" target="_blank">Inclusive Design at Microsoft</a>: Learn and follow accessibility best practices with Microsoft’s inclusive design principles</li> <li> <a href="https://accessibilityinsights.io/" rel="nofollow noopener noreferrer" target="_blank">Accessibility Insights</a>: Solve accessibility issues before they reach merchants using this automated accessibility testing tool.</li> </ul> </div> <h5>2. <a href="https://polaris.shopify.com/foundations/internationalization?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Internationalization</a> </h5> <p>Building an interface that works no matter where in the world your users are located not only increases your global market reach, it also creates a better overall UX. </p> <p>Be sure to plan for:</p> <ul> <li>Cultural differences: From your icons to your images to your content, localizing your app means not only translating to the local language, but also adapting to regional differences and being mindful of potentially confusing or offensive content</li> <li>Text expansion: Translating your app text can expand it and take up more space, so your interface needs built-in flexibility to accommodate language-specific formatting, as it can vary greatly between languages</li> <li>Changes in word order: It’s safe to assume the word order of every sentence in your UI will change when translated, so it’s best to avoid using UI components to build sentences and only use <a href="https://ux.shopify.com/how-to-concatenate-localized-strings-mindfully-bcc7b6d4961a?itcat=partner_blog&itterm=how_to_build_a_shopify_app">concatenated strings mindfully</a>, or not at all</li> </ul> <p>Get familiar with the <a href="https://polaris.shopify.com/foundations/internationalization?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Polaris foundations of internationalization</a> so that you can create an exceptional UX no matter where your users are located.</p> <div class="marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [&_h2]:!mt-0 [&_h2]:mb-6 [&_h2]:text-t5 [&_h3]:!mt-0 [&_h3]:mb-6 [&_h3]:text-t7 [&_h4]:!mt-0 [&_h4]:mb-6 [&_h4]:text-t8 [&_ul]:!mt-0 [&_ul]:mb-6 [&_ul:last-child]:mb-0 [&_ol]:!mt-0 [&_ol]:mb-6 [&_ol:last-child]:mb-0 [&_p]:!mt-0 [&_p]:mb-6 [&_p:last-child]:mb-0 border-partners-highlight"> <p>Learn more about the principles that will help you build a truly internationalized app in our in-depth blog post: <a href="/ng/partners/blog/internationalization?itcat=partner_blog&itterm=how_to_build_a_shopify_app" title="Internationalization">Internationalization: Practical Tips to Build for a Global Audience</a>.</p> </div> <h5>3. <a href="https://polaris.shopify.com/foundations/information-architecture?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Information architecture (IA)</a> </h5> <p>Your <a href="https://polaris.shopify.com/foundations/information-architecture?itcat=partner_blog&itterm=how_to_build_a_shopify_app">information architecture</a> (IA) is the way you organize, structure, and label all your content, with the goal of helping your users find the information they need and to complete tasks efficiently. Effective IA:</p> <ul> <li>Simplifies complexity</li> <li>Supports scalability</li> <li>Creates familiarity</li> </ul> <p>Getting familiar with the <a href="https://polaris.shopify.com/foundations/information-architecture?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Polaris IA principles</a> will help guide you through the process of making good IA decisions, no matter what project you’re working on. Keeping your app organized and straightforward prevents user confusion, especially if your app is more complex.</p> <div class="marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [&_h2]:!mt-0 [&_h2]:mb-6 [&_h2]:text-t5 [&_h3]:!mt-0 [&_h3]:mb-6 [&_h3]:text-t7 [&_h4]:!mt-0 [&_h4]:mb-6 [&_h4]:text-t8 [&_ul]:!mt-0 [&_ul]:mb-6 [&_ul:last-child]:mb-0 [&_ol]:!mt-0 [&_ol]:mb-6 [&_ol:last-child]:mb-0 [&_p]:!mt-0 [&_p]:mb-6 [&_p:last-child]:mb-0 border-partners-highlight"> <p>For more information about IA and how to get started, check out our recent blog post: <a href="/ng/partners/blog/information-architecture?itcat=partner_blog&itterm=how_to_build_a_shopify_app" title="Information architecture">An Introduction to Information Architecture</a>.</p> </div> <h3 id="merchant-in-mind">App design with the merchant in mind</h3> <p>A clean app design with accessible UX and clear language is crucial for building an app merchants love. Your users interact with the web, apps, and dashboards on a daily basis, so they’ll have high expectations for how your app will integrate and interact with their online store.</p> <p>Now that you have a grasp of how app design principles influence your users’ experience, you’re ready to start building your app.</p> <h4>Additional resources:</h4> <ul> <li>Blog post: <a href="/ng/partners/blog/building-apps" title="building apps">Building Apps: 3 Things we Learned in Making Design Consistent and Scalable </a> </li> <li>Blog post: <a href="/ng/partners/blog/prototyping" title="prototyping">10 Myths About Prototyping, Busted </a> </li> <li>Blog post: <a href="/ng/partners/blog/improve-your-design-process-with-these-4-deliverables" title="Improve your design process with these 4 deliverables">Improve Your Design Process With These 4 Deliverables </a> </li> <li>Blog post: <a href="/ca/partners/blog/rapid-prototyping" title="Rapid prototyping">Everything You Always Wanted to Know About Rapid Prototyping </a> </li> <li>Blog post: <a href="/ng/partners/blog/shopify-commerce-awards-2017-winners#polaris" title="Shopify Commerce Awards 2017 winners">Announcing the Winners of the 2017 Shopify Commerce Awards (Polaris) </a> </li> <li>Blog post: <a href="/ng/partners/blog/keyboard-accessibility" title="Shopify Commerce Awards 2017 winners">5 Steps to Design Apps with Keyboard Accessibility in Mind </a> </li> <li>Blog post: <a href="/ng/partners/blog/information-architecture" title="Information architecture">An Introduction to Information Architecture </a> </li> <li>Digital property: <a href="https://polaris.shopify.com?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Polaris</a> </li> <li>Docs: <a href="https://polaris.shopify.com/foundations/designing-apps?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Designing apps for Shopify</a> </li> <li>Docs: <a href="https://polaris.shopify.com/components/get-started?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Component library docs</a> </li> <li>Docs: <a href="https://polaris.shopify.com/resources/resources?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Polaris Resources</a> </li> <li>Docs: <a href="https://polaris.shopify.com/foundations/accessibility?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Polaris accessibility documentation</a> </li> <li>Polaris GitHub: <a href="https://github.com/Shopify/polaris-react?itcat=partner_blog&itterm=how_to_build_a_shopify_app#licenses" rel="nofollow noopener noreferrer" target="_blank">Licenses</a> </li> </ul> <div class="marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [&_h2]:!mt-0 [&_h2]:mb-6 [&_h2]:text-t5 [&_h3]:!mt-0 [&_h3]:mb-6 [&_h3]:text-t7 [&_h4]:!mt-0 [&_h4]:mb-6 [&_h4]:text-t8 [&_ul]:!mt-0 [&_ul]:mb-6 [&_ul:last-child]:mb-0 [&_ol]:!mt-0 [&_ol]:mb-6 [&_ol:last-child]:mb-0 [&_p]:!mt-0 [&_p]:mb-6 [&_p:last-child]:mb-0 border-partners-highlight"> <p>Visit our <a href="https://shopify.dev/docs/apps/getting-started/create">developer documentation at shopify.dev</a> to learn how to use our developer tools to create your Shopify app.</p> </div> <h2 id="submission-to-store">4. Submission to the Shopify App Store</h2> <p><img class="block block--bordered" src="https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-submission-to-the-app-store.jpg?v=1614184034" alt="How to build a Shopify app: submission to the Shopify App Store. Illustration depicts an envelope with a long checklist of items cascading out of it. Items on the checklist are represented by abstract lines and circles, with arrows pointing towards different areas on the checklist." loading="lazy"></p> <p>Submitting your app to the <a href="https://apps.shopify.com?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Shopify App Store</a> is the next step to getting it live and in the hands of the merchants who will benefit from it most. </p> <p>Before it’s published, your app needs to be reviewed by the Shopify App Review team. The app submission and review process usually takes our partners a few weeks to complete, and includes the follow steps:<br><br>1. <a href="https://shopify.dev/apps/store/requirements">Meeting Shopify’s technical, security, and UX requirements<br></a>2. <a href="/ca/partners/blog/shopify-app-store-downloads?itcat=partner_blog&itterm=how_to_build_a_shopify_app#optimize">Writing an effective app listing<br></a>3. <a href="https://shopify.dev/apps/store/review/testing">Testing your app for performance and bugs<br></a>4. <a href="https://shopify.dev/apps/store/review">Applying any revisions required by our review team</a></p> <h3 id="prepare-submit"><strong>Preparing to submit your app</strong></h3> <p>The Shopify App Review Team’s goal is to get you through the review process as quickly as possible! Knowing what to expect beforehand, and understanding what information you should have ready to go, will help you move more quickly through the review stages.</p> <p>Follow these three steps before you submit your app for review:</p> <h3>1. Meet Shopify’s app requirements</h3> <p>There are <a href="https://shopify.dev/concepts/app-store/getting-your-app-approved/app-requirements?itcat=partner_blog&itterm=how_to_build_a_shopify_app">technical, security, and UX requirements</a> that all public apps must meet before they can be approved for the app store. Follow these requirements as you build and prepare to submit your app to ensure your app is published without hiccups.</p> <p>It’s important to note that unlisted apps need to meet the same requirements as listed apps because they are both public app types. This is important for maintaining a quality standard for merchants, but also because these public apps can change visibility at any time.</p> <p>In addition, <a href="https://shopify.dev/apps/store/requirements#specific-requirements-for-certain-app-configurations">certain app configurations have additional requirements</a>. These app configurations include but are not limited to:</p> <ul> <li>Online store apps</li> <li>Embedded apps</li> <li>Product sourcing apps</li> <li>Sales channels</li> <li>Purchase Option apps</li> <li>Checkout UI extension apps</li> </ul> <h3>2. Write your app listing</h3> <div class="grid partners-signup"> <div class="grid__item partners-signup__container"> <h3 class="heading--4 partners-signup__heading">[September 2022] New app listing guidelines</h3> <p class="partners-signup__content">As of September 2022, we've updated the requirements for app listings in the Shopify App Store. Some of the information in this section may be out of date. To make sure your app listing is optimized for merchant installs, please visit our documentation for the newest guidelines.</p> <a data-sanitized-target="_blank" class="marketing-button partners-signup__cta" href="https://shopify.dev/apps/store/requirements?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Visit docs</a> </div> </div> <p>All public apps—listed or unlisted—require a complete app listing for submission. Your app listing page will serve as the home of your app in the Shopify App Store. This information is your most powerful tool for convincing users that your app is the best solution for them. Because this is such a key surface, you should spend time understanding <a href="https://shopify.dev/concepts/app-store/getting-your-app-approved/app-requirements?itcat=partner_blog&itterm=how_to_build_a_shopify_app#writing-a-shopify-app-store-listing">the requirements of your app listing</a>, and <a href="/ca/partners/blog/shopify-app-store-downloads?itcat=partner_blog&itterm=how_to_build_a_shopify_app#optimize">how to best optimize it</a>. </p> <div style="text-align: center;"><img src="https://cdn.shopify.com/s/files/1/0533/2089/files/shopify-app-listing-screenshot_600x600.png?v=1658350648" alt="Shopify Inbox app listing" loading="lazy"></div> <p>While some of these elements are optional, the more information you provide potential users, the better. </p> <p>Your app listing is a critical part of gaining new installations and users. For more in-depth guidance on creating the best listing page you can, <a href="/ca/partners/blog/shopify-app-store-downloads?itcat=partner_blog&itterm=how_to_build_a_shopify_app">visit our guide on How to Get More App Downloads in the Shopify App Store</a>.</p> <h3>3. Test your app</h3> <p>Once you’re confident your app meets the app and listing requirements above, we encourage you to ensure your app is well tested. Shopify is a complex platform, and no two merchants have the same needs or goals. Thorough testing helps catch as many errors and bugs as possible, so that your app doesn’t break when these varied merchants install it.</p> <p>When testing your app, you want to ensure it functions correctly for your users, especially for merchants who aren’t tech-savvy. </p> <p>More details on testing your app can be found <a href="https://shopify.dev/concepts/app-store/getting-your-app-approved/testing-your-app-before-submitting?itcat=partner_blog&itterm=how_to_build_a_shopify_app">in our documentation</a>. You can also read our in-depth guide on <a href="/ca/partners/blog/user-test-app?itcat=partner_blog&itterm=how_to_build_a_shopify_app">user testing your app</a> on our blog.</p> <h3 id="submitting">4. Submit your app</h3> <p>Once your app and listing are ready, and you’ve thoroughly tested and prepared, <a href="https://shopify.dev/concepts/app-store/getting-your-app-approved/app-submission?itcat=partner_blog&itterm=how_to_build_a_shopify_app">follow the instructions in our documentation</a> to submit your app via the Partner Dashboard. The Shopify App Review Team will check to make sure that your app is a complete product and is ready to be used by a merchant the moment it’s approved for the Shopify App Store.</p> <h3 id="review">The review process</h3> <p>On average, your app will be reviewed within 7 business days of being submitted. You’ll be kept informed about progress and feedback along the way.</p> <p>You can learn more about what to expect during the approval process <a href="https://shopify.dev/concepts/app-store/getting-your-app-approved/review-process?itcat=partner_blog&itterm=how_to_build_a_shopify_app">in our developer documentation</a>.</p> <h3 id="revise">Revisions and changes</h3> <p>The time to approval can vary from days to weeks or even months, depending on how long it takes you to resolve the issues found. It’s very common that after review, you’ll be asked to make some changes or revisions to your app. You’ll be informed via email of what needs to be updated. </p> <p>If the necessary changes are substantial enough, your app will be rejected. Once you fix the outstanding issues, you can resubmit. However, if the changes are relatively minor, you’ll be put into contact with the review team via Zendesk to chat about your app and make the necessary updates.</p> <p>Once you’ve fixed everything that needs to be fixed, and the review team is confident that your app meets our standards, you’ll be approved, and your app will go live in the Shopify App Store. It’s time to celebrate! You’ve earned it.</p> <h4>Additional resources:</h4> <ul> <li>Docs: <a href="https://shopify.dev/concepts/app-store/getting-your-app-approved/app-requirements?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Requirements for public apps on Shopify</a> </li> <li>Docs: <a href="https://shopify.dev/apps/store/review/testing">Testing your app before submitting</a> </li> <li>Docs: <a href="https://shopify.dev/concepts/app-store/getting-your-app-approved/app-submission?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Submitting your app</a> </li> <li>Docs: <a href="https://shopify.dev/concepts/app-store/getting-your-app-approved/review-process?itcat=partner_blog&itterm=how_to_build_a_shopify_app">The review process</a> </li> <li>Docs: <a href="https://shopify.dev/tutorials/authenticate-with-oauth?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Authenticate with OAuth</a> </li> <li>Docs: <a href="https://shopify.dev/tutorials/bill-for-your-app-using-graphql-admin-api?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Bill for your app with the GraphQL Admin API</a> </li> <li>Blog post: <a href="/ca/partners/blog/insights-shopify-app-review?itcat=partner_blog&itterm=how_to_build_a_shopify_app">7 Insights From the Shopify App Review Team to Set Your App Up for Success</a> </li> <li>Blog post: <a href="/ca/partners/blog/user-test-app?itcat=partner_blog&itterm=how_to_build_a_shopify_app">User Testing Your Shopify App: Public App Use Cases You Should Test</a> </li> </ul> <h2 id="monitoring">5. Monitoring your app: keeping performance top of mind</h2> <p><img class="block block--bordered" src="https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-monitoring-your-app.jpg?v=1614184968" alt="How to build a Shopify app: Monitoring your app: keeping performance top of mind. Illustration of a person looking through a telescope at a digital map of moving arrows." loading="lazy"></p> <p>Before you launch your app, there are a few things you need to know about how to keep it healthy, secure, and high-performing beyond launch.</p> <p>This section covers what it means to have a “healthy” Shopify app, and what it takes to keep it successful, so it continues to be helpful to merchants over both the short and long term.</p> <h3 id="app-health">App health within the Shopify ecosystem</h3> <p>A healthy Shopify app fulfills the specific use case it was installed to address, while allowing the developer to continue to grow and scale their own business. </p> <p>Maintaining your app’s health means staying on top of any and all changes, addressing potential security issues, and monitoring the business insights that will help you understand your app’s performance within the Shopify ecosystem.</p> <h3 id="changes-and-api-versioning">Breaking changes and API versioning</h3> <p>Shopify is always building, changing, and growing. As a developer, it’s important to stay in the loop with all these changes, so that your app stays secure and up-to-date in the process.</p> <p>We always make sure to announce changes in advance and remind developers of versioning or deprecation closer to the release. Your Partner Dashboard, the <a href="https://shopify.dev/changelog?itcat=partner_blog&itterm=how_to_build_a_shopify_app">developer changelog</a>, and our <a href="https://shopify.dev/concepts/shopify-introduction?itcat=partner_blog&itterm=how_to_build_a_shopify_app">developer documentation</a> all make it easier for developers to keep informed of upcoming changes. We also <a href="/ng/partners/blog/api-deprecation-update-2020-10?itcat=partner_blog&itterm=how_to_build_a_shopify_app">announce updates in advance on the Partner Blog</a>. </p> <p>As well as the above resources, we also have an <a href="https://partners.shopify.com/current/apps?itcat=partner_blog&itterm=how_to_build_a_shopify_app">API health report</a> available in your Partner Dashboard. The report shows any deprecated calls your public or custom apps are making, and the deadline for updating those calls in your app.</p> <p>Furthermore, you should always ensure that your developer contact information is up-to-date, as we regularly use email to communicate important updates and breaking changes well in advance.</p> <figure><img class="block block--bordered" src="https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-developer-changelog.jpg?v=1614185009" alt="How to build a Shopify app: screenshot of the developer changelog page. Stay up to date with the recent changes to Shopify's APIs and other developer products. Screenshot shows tabs for both Recent and Scheduled updates, a field to enter your email to sign up for email updates, allow you to filter the changelog for posts that require action, or by tag: API, Tools, Shopify App Store, Themes, or Platform." loading="lazy"> <figcaption>The <a href="https://shopify.dev/changelog?itcat=partner_blog&itterm=how_to_build_a_shopify_app">developer changelog</a>.</figcaption> </figure> <p>In 2019, we introduced <a href="/ng/partners/blog/api-versioning-at-shopify?itcat=partner_blog&itterm=how_to_build_a_shopify_app">API versioning at Shopify</a> so that both Shopify and third-party developers have a clear cadence for when specific changes will be made to the API. Every quarter, Shopify releases a new API version. These releases typically happen on (or close to) January 1, April 1, July 2, and October 1. When a version is released, it lives for about a year, and is named in a <code class="marketing-code">year-month</code> format, such as <code class="marketing-code">2020-10</code>. Each stable version is locked for a year, after which support isn’t guaranteed. You should always keep your app on a stable version to avoid any breaking changes.</p> <p>In addition to the ways Shopify helps keep you up-to-date on app performance and ecosystem updates, there are a myriad of other performance management and analytics tools you can use to make sure your app stays healthy post-launch.</p> <h3 id="performance-and-management">App performance management and monitoring</h3> <p>There are various monitoring tools you can use to make sure your app stays healthy and stable as you build new features, scale your performance, and grow your user base. By ensuring all the software within your tech stack is performing smoothly, you maintain a consistent, high-quality user experience and minimize any downtime.</p> <p>App performance monitoring tools like <a href="https://www.bugsnag.com/" rel="nofollow noopener noreferrer" target="_blank">Bugsnag</a>, <a href="https://www.datadoghq.com/product/apm/" rel="nofollow noopener noreferrer" target="_blank">Datadog</a> or <a href="https://sentry.io/welcome/" rel="nofollow noopener noreferrer" target="_blank">Sentry</a> monitor your app stability, and make it easy to pinpoint and solve any errors across the applications in your tech stack. Each of these tools have varying costs associated with them.</p> <p>Services like <a href="https://aws.amazon.com/lambda/" rel="nofollow noopener noreferrer" target="_blank">AWS Lambda</a> allow you to run code without provisioning or managing servers, and automatically scales based on how many event requests you get without needing to upgrade your servers. This will prevent situations like your app becoming slow to load, damaging the user experience. </p> <p>Depending on where the majority of your users are located, your app usage may spike during certain times of day. You want to make sure you set up your infrastructure so there is no downtime during a spike.</p> <p>Using an app performance monitoring or management tool helps you to understand the stability and security of your underlying systems, which allows you to predict or project how your app will perform if you have a surge of installs, for example. You’re able to anticipate app performance based on various user loads.</p> <p>Not all app performance monitoring tools are created equal in terms of features and functionality, however, and they vary in price depending on the vendor. It’s a good idea to do your own research into what tool will help you the most for your app’s specific use case.</p> <h3 id="insights">Business insights</h3> <p>Setting yourself up to track business insights is something you’ll also want to do from the beginning. Developer Daniel Sim created Shopify apps such as <a href="https://apps.shopify.com/plug-in-seo?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Plug In SEO</a> and <a href="https://apps.shopify.com/plug-in-speed?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Plug In Speed</a> (which he exited earlier in 2020) and is the founder of <a href="https://www.appstoreanalytics.io/" rel="nofollow noopener noreferrer" target="_blank">App Store Analytics</a>. He says monitoring business insights was something he and his team set up before they launched their apps in the Shopify App Store.</p> <p>“Our team was very data-driven,” Sim says. “We had metrics covering product, support, software, infrastructure, and marketing. We kept the number of metics as small as possible, making sure each was actionable and owned by someone on the team. They applied right from when an app had tens of users through to tens of thousands.”</p> <p>“Every app developer needs to know how merchants are finding their app, and what their journey looks like. It makes all the difference when it comes to earning revenue from your app,” Sim says.</p> <blockquote class="border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [&_p]:mb-4 [&_cite]:font-aktivgroteskextended [&_cite]:text-sm [&_cite]:not-italic [&_cite]:font-medium [&_cite]:tracking-[-0.0175rem] [&_footer]:mt-4 [&_cite::before]:content-["–"] [&_cite::before]:mr-1 border-partners-highlight"> <p>Every app developer needs to know how merchants are finding their app, and what their journey looks like. It makes all the difference when it comes to earning revenue from your app.</p> <footer><cite>Daniel Sim, Founder, App Store Analytics</cite></footer> </blockquote> <p>Sim’s team used <a href="https://fourweekmba.com/pirate-metrics/" rel="nofollow noopener noreferrer" target="_blank">Dave McClure's AARRR Pirate Metrics</a> funnel of Acquisition, Activation, Retention, Revenue, and Referral to measure app performance.</p> <ul> <li> <strong>Acquisition: </strong>How a merchant finds your app </li> <li> <strong>Activation: </strong>When a merchant installs your app </li> <li> <strong>Retention:</strong> After activation, users stick around and stay engaged with your app</li> <li> <strong>Revenue: </strong>How much money the merchant makes for you</li> <li> <strong>Referral:</strong> A count of how many merchants are telling others about it</li> </ul> <p>The AARRR metrics funnel gives app developers a performance overview that helps to decide what to focus on next to grow. Sim used the conversion rates between each stage of the funnel to benchmark against other apps, and to spot opportunities and trends between his own apps.</p> <p>“It's fun to build products and add new features,” Sim says. “I'm a developer, so I love to code. Working on acquisition was out of my comfort zone. At first, I didn't properly measure it, essentially ignoring it altogether. But when I eventually did start tracking it, I could see everything else was performing way above average apart from acquisition.”</p> <p>Measuring a few key metrics will help you understand how your app is performing so you can adjust what isn’t working as needed. </p> <h3 id="metrics">What metrics you should be tracking</h3> <p>Within the AARRR framework, Sim’s main business metrics were:</p> <ul> <li>Total users from Google Analytics visiting their app listing and public website </li> <li>Installs taken from the Shopify Partner Dashboard </li> <li>Reviews written on their app listing</li> <li>Free trial to paid conversion rate</li> <li>Revenue growth</li> <li>Percentage of merchants who churned in a given period</li> </ul> <p>To track free trial to paid conversion rate, revenue growth, and churn, you can export the app history CSV from your Partner Dashboard into Google Sheets.</p> <p>Once you start tracking, what do you do with the data? </p> <p>“We put all of our AARRR metrics into a Google Sheet and shared it with the team every week,” Sim says. “Depending on the stage of the app, we'd either use just a week's worth of numbers if there was enough to be statistically significant, or a sliding window of 28 days.”</p> <p>The conversion rates were important in deciding what to work on. If Sim could see that their revenue growth was slowing, they would investigate back up the funnel to see why. </p> <p>Sim says becoming disciplined at tracking AARRR every week helped him and his team focus on things that would support serious growth rather than incremental improvements.</p> <p>However, Sim says you can make the mistake of tracking too much.</p> <p>“My thinking was: ‘Oh no, if I don't track this now and we need it in future there's no way to get it retroactively,’” he says. “There was too much noise and it was expensive to maintain all of that tracking as we developed the product. It was a mess. So we pared everything back to just the metrics we needed to track our running experiments. It got tracked and it got done.”</p> <p>When you’re able to identify problem areas or adoption rate stagnation, you have a better understanding of how your app is performing, your users’ behavior, and where there is room for improvement.</p> <h4>Metrics-tracking starter tech stack</h4> <p>The tools you use to track your business metrics will vary depending on your needs and goals. <a href="https://shopify.dev/concepts/app-store/being-successful-in-the-app-store/marketing-internally/tracking-your-listing-traffic?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Tracking your listing traffic</a> in the Shopify App Store is a great way to get more information about how users are finding your app listing.</p> <p>You can go even further by setting up a couple tools that will help you keep track of the metrics and data that matter. Here are a few to get you started:</p> <ul> <li> <a href="https://analytics.google.com/analytics/web/#/" rel="nofollow noopener noreferrer" target="_blank">Google Analytics</a>: for marketing efforts and acquisition</li> <li>Partner Dashboard: for CSV exports of activation, retention, and revenue </li> <li> <a href="https://amplitude.com/" rel="nofollow noopener noreferrer" target="_blank">Amplitude</a>: for in-app and email events, attributes, and segmentation</li> <li> <a href="https://partnermetrics.io/" rel="nofollow noopener noreferrer" target="_blank">Partner Metrics</a>: for quarterly and annual trends</li> <li> <a href="https://baremetrics.com/" rel="nofollow noopener noreferrer" target="_blank">Baremetrics</a>: for benchmarks, goals, and free trial insights</li> <li> <a href="https://segment.com/" rel="nofollow noopener noreferrer" target="_blank">Segment</a> (<a href="https://www.twilio.com/press/releases/twilio-completes-acquisition-segment-market-leading-customer-data-platform" rel="nofollow noopener noreferrer" target="_blank">acquired</a> in 2020 by Twilio): for organizing your data pipeline for a clean overview</li> </ul> <p>This metrics-tracking tech stack can help jumpstart tracking the right data so you can make more informed business decisions and gain traction in the Shopify App Store.</p> <p>Once you have the data to understand how your app is performing, you can begin to conduct experiments to improve your app and scale over time.</p> <h3 id="designing-growth">Designing app growth experiments through data analysis</h3> <p>It’s important to understand which metrics you want to track and prepare to track them before you publish your Shopify app. This will set you up to have a clear understanding of how your app is performing, allow you to define what success looks like to you, and design growth experiments through that data analysis.</p> <p>Once Sim and his team identified which metrics they wanted to improve, they would come up with hypotheses to try out. For the most promising hypotheses, they designed experiments. Each experiment offered more granular temporary metrics, that would tell Sim if their hypothesis was validated or invalidated. Wherever practical, and if they had enough volume, they would run A/B tests on their hypotheses.</p> <p>One such experiment was when they changed the code installation step of onboarding to be automated rather than something support would help with. </p> <p>“To make it an accurate experiment, we added metrics for which stage of onboarding the merchant was dropping out at, their interactions with support, and how engaged they were with the app after onboarding,” Sim says. “Surprisingly, we found that automated code installation led to worse retention. Temporary, focused metrics helped us to invalidate what looked to be a valid hypothesis.”</p> <h3 id="understand">Build and understand traction to scale app performance and installs</h3> <p>Once you’ve set up your app performance management and monitoring tools, you’ll start to see trends, be able to flag fixable errors, and learn how to keep your app high performing and your users happy.</p> <p>“Getting initial traction is like pushing a huge boulder,” Sim says. “Once you get it rolling though, Shopify offers many opportunities to work with the world's best merchants in a healthy, thriving ecosystem of partners.”</p> <h4>Additional resources:</h4> <ul> <li>Blog post: <a href="/ng/partners/blog/api-versioning-at-shopify?itcat=partner_blog&itterm=api_deprecation_update_2020_10" title="Introducing API versioning at Shopify">Introducing API Versioning at Shopify </a> </li> <li>Blog post: <a href="/ng/partners/blog/api-deprecation-update-2020-10" title="API deprecation at Shopify">API Deprecation at Shopify: 2020-10 Edition </a> </li> <li>Blog post: <a href="/ng/partners/blog/app-metrics" title="8 growth metrics every app developer should track">8 Growth Metrics Every App Developer Should Track </a> </li> <li>Docs: <a href="https://shopify.dev/concepts/shopify-introduction?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Developing on Shopify</a> </li> <li>Shopify.dev: <a href="https://shopify.dev/changelog?itcat=partner_blog&itterm=how_to_build_a_shopify_app">Changelog</a> </li> </ul> <h2>Get started building your Shopify app</h2> <p>Learning how to build a Shopify app can feel daunting if you’re not sure where to start. Now that you’ve learned the six stages of app building for the Shopify ecosystem, the only limit is your creativity. There are many different ways you can approach creating your app and the steps outlined in this article are simply meant to guide you through the app-building process.</p> <p>You’ve got what you need to start building a Shopify app. The rest is up to you.</p> <a data-encoded-tag-name="meta" data-encoded-tag-value="" data-encoded-attr-charset="dXRmLTg="></a> <p><span>Learn more at: </span><a href="/ng/partners">Shopify Partners</a></p> <div data-sanitized-data-partners-signup="app_developer" data-partners-signup="app_developer"></div> <p><em>Illustrations by </em><a href="https://eugeniamello.com/" rel="nofollow noopener noreferrer" target="_blank"><em>Eugenia Mello</em></a><em>.</em></p><div id=":R0:" data-component-name="blog-read-more" class="marketing-block marketing-block--light marketing-block--padded text-body-sm text-left my-8 tablet:my-16 p-8 bg-marketingBg border-t-2 [&_h2]:text-t5 border-partners-highlight"><h2 class="!mt-0 mb-6 font-aktivgroteskextended">Read more</h2><ul class="!mt-0 !mb-0"><li class="mt-2"><a href="/ng/partners/blog/front-end-app">How to Build a Shopify App as a Front End Developer</a></li><li class="mt-2"><a href="/ng/partners/blog/building-a-shopify-app-in-one-week">How to Build a Shopify App in One Week</a></li><li class="mt-2"><a href="/ng/partners/blog/development-stores">Everything You Need to Know About Development Stores</a></li><li class="mt-2"><a href="/ng/partners/blog/17056443-how-to-generate-a-shopify-api-token">How to Generate a Shopify Access Token</a></li><li class="mt-2"><a href="/ng/partners/blog/react-summit-2021">Learn About Shopify App Development at React Summit 2021</a></li><li class="mt-2"><a href="/ng/partners/blog/theme-app-extensions">How to Level Up Your App with Theme App Extensions</a></li></ul></div></div></div><div class="border-t tablet-xl:border-[#d4d4d8] my-16 py-6 flex tablet-xl:flex-row justify-between flex-col"><div class="flex items-center tablet-xl:justify-start tablet-xl:flex-row flex-row-reverse justify-between"><div class="self-center flex flex-col"><div class="gap-x-1 flex flex-wrap text-lg font-aktivgroteskextended leading-[18px] font-bold mb-2"> <!-- -->by <span itemProp="author" itemscope="" itemType="https://schema.org/Person"><a href="/ng/partners/blog/authors/monique-elliot" class="no-underline" itemProp="url"><span itemProp="name">Monique Elliot</span></a></span></div><div class="text-body-sm text-shade-50">Last updated<!-- --> <time>25 Feb 2021</time></div></div></div><div class="xs:border-b tablet-xl:border-0 pb-4"><div class="font-bold text-xs font-aktivgroteskextended uppercase mt-4 tablet-xl:mt-0 tablet-xl:text-right">Share article</div><ul id=":R1bj95n5:" class="flex gap-4 mt-4" data-component-name="social"><li><a class="block h-9 w-9 fill-black hover:fill-shade-7" aria-describedby="blog-social-icon-facebook-:R1bj95n5:" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.shopify.com%2Fng%2Fpartners%2Fblog%2Fhow-to-build-a-shopify-app" rel="me nofollow noopener noreferrer" target="_blank" data-component-name="social-facebook" aria-label="External source: Facebook (Opens in a new window)"><svg viewBox="0 0 30 30"><path d="M15.6 30V19.4h5V15h-5v-3.1c0-1 .6-1.9 1.3-1.9h3.8V5.6h-3.8c-3.1 0-5.6 2.8-5.6 6.3V15H7.5v4.4h3.8v10.1C4.8 27.9 0 22 0 15 0 6.7 6.7 0 15 0s15 6.7 15 15c0 8.1-6.4 14.7-14.4 15z"></path></svg><span id="blog-social-icon-facebook-:R1bj95n5:" class="sr-only">Facebook</span></a></li><li><a class="block h-9 w-9 fill-black hover:fill-shade-7" aria-describedby="blog-social-icon-twitter-:R1bj95n5:" href="https://twitter.com/intent/tweet?text=How+to+Build+a+Shopify+App:+The+Complete+Guide&url=https%3A%2F%2Fwww.shopify.com%2Fng%2Fpartners%2Fblog%2Fhow-to-build-a-shopify-app&via=Shopify" rel="me nofollow noopener noreferrer" target="_blank" data-component-name="social-twitter" aria-label="External source: Twitter (Opens in a new window)"><svg viewBox="0 0 19 19"><path fill-rule="evenodd" clip-rule="evenodd" d="M19 9.5C19 14.7467 14.7467 19 9.5 19C4.25329 19 0 14.7467 0 9.5C0 4.25329 4.25329 0 9.5 0C14.7467 0 19 4.25329 19 9.5ZM8.18721 10.0675L3.64633 3.99603H7.14609L10.123 7.97639L13.8073 3.99603H14.8358L10.5825 8.59099L15.379 15.0039H11.8792L8.64689 10.6819L4.6462 15.0039H3.61771L8.18721 10.0675ZM6.76655 4.75353H5.15877L12.2586 14.2464H13.8663L6.76655 4.75353Z"></path></svg><span id="blog-social-icon-twitter-:R1bj95n5:" class="sr-only">Twitter</span></a></li><li><a class="block h-9 w-9 fill-black hover:fill-shade-7" aria-describedby="blog-social-icon-linkedin-:R1bj95n5:" href="https://www.linkedin.com/shareArticle?mini=true&source=Shopify&title=How+to+Build+a+Shopify+App:+The+Complete+Guide&url=https%3A%2F%2Fwww.shopify.com%2Fng%2Fpartners%2Fblog%2Fhow-to-build-a-shopify-app" rel="me nofollow noopener noreferrer" target="_blank" data-component-name="social-linkedin" aria-label="External source: LinkedIn (Opens in a new window)"><svg viewBox="0 0 30 30"><path d="M30 15c0 8.3-6.7 15-15 15S0 23.3 0 15 6.7 0 15 0s15 6.7 15 15zM11.3 7.8c0-1.2-1-2.2-2.5-2.2s-2.5.9-2.5 2.2c0 1.2 1 2.2 2.5 2.2s2.5-1 2.5-2.2zm-.7 4.1H6.9v10.6h3.8V11.9zm13.8 5c0-3.4-1.7-5.6-4.4-5.6-1.5 0-2.6.9-3.1 2.3l-.1-1.6H13c0 .4.1 2.5.1 2.5v8.1h3.8V17c0-1.5.7-2.5 1.8-2.5s1.9.6 1.9 2.5v5.6h3.8v-5.7z"></path></svg><span id="blog-social-icon-linkedin-:R1bj95n5:" class="sr-only">LinkedIn</span></a></li></ul></div></div></div><div class="col-span-4 xs:col-span-12 lg:col-span-3 col-start-1 hidden lg:block relative" data-component-name="blog-right-sidebar"><div class="tablet-xl:pt-10 desktop:pt-16 pb-6 absolute h-full max-h-full tot-0 left-0"><div class="h-full overflow-hidden" id="blog-side-banners-col"><div class="gap-x-1 flex flex-wrap font-bold text-lg text-legacy-gray-90 !font-shopifysans"> <!-- -->by <span itemProp="author" itemscope="" itemType="https://schema.org/Person"><a href="/ng/partners/blog/authors/monique-elliot" class="no-underline" itemProp="url"><span itemProp="name">Monique Elliot</span></a></span></div><div class="text-body-sm text-shade-50">Last updated<!-- --> <time>25 Feb 2021</time></div><div id="blog-side-banners"><div class="mt-[640px] border-t border-shade-30 pt-6 hidden" data-priority="2" data-component-name="blog-CTA-sidebar-email"><p class="richtext text-xl mb-2 font-aktivgroteskextended">Let’s grow your digital business</p><p class="richtext text-sm mb-4">Get design inspiration, development tips, and practical takeaways delivered straight to your inbox.</p><form method="post" action="/ng/blog/api/subscribe"><div id=":R36r95n5:" data-component-name="waitlist-form-input-wrapper" class="[&_input]:rounded-full [&_input]:border-shade-3 [&_input]:mb-1 [&_input]:pl-4 [&_input]:border-solid [&_input]:border [&_input]:border-shade-30 [&_input]:text-xs tablet-xl:[&_input]:text-base [&_div]:text-xs tablet-xl:[&_div]:text-base [&_button]:bg-black [&_button]:text-white [&_button]:h-14 [&_button]:text-lg [&_button]:text-lg [&_button]:hover:bg-[#3f3f46] [&_button]:active:bg-[#71717a]"><label for="email-input-:R36r95n5H1:" class="sr-only">Enter email</label><input id="email-input-:R36r95n5H1:" class="text-shade-70 h-14 w-full bg-transparent outline-none placeholder:text-black placeholder:font-normal" type="email" spellcheck="false" autoComplete="email" name="email" placeholder="Enter email"/><input type="hidden" name="subscriptionId" value="DE84EF61-2A02-4778-8807-F01B108DE974"/><input type="hidden" name="signup_page" value="/ng/partners/blog/how-to-build-a-shopify-app"/><input type="hidden" name="locale" value="en-NG"/><input type="hidden" name="blogHandle" value="partners"/><input type="hidden" name="form_type" value="subscribe"/><div class="hidden sm:block"><button type="submit" class="inline-block self-center overflow-hidden max-w-full px-button-px ring-inset rounded-button font-button-font font-button-weight tracking-button-tracking transition-all duration-150 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-state-focus focus-visible:outline disabled:hover-ring-0 md:py-button-lg-py text-button-lg-size border-2 text-button-light-secondary-text bg-button-light-secondary-bg border-button-light-secondary-border ring-button-light-secondary-border hover:text-button-light-secondary-text-hover hover:ring-button-light-secondary-border-hover focus:text-button-light-secondary-text-focus focus:border-button-light-secondary-border-focus focus:ring-button-light-secondary-border-focus active:text-button-light-secondary-text-active active:border-button-light-secondary-border-active active:ring-button-light-secondary-border-active disabled:text-button-light-secondary-text-disabled disabled:bg-button-light-secondary-bg-disabled disabled:border-button-light-secondary-border-disabled disabled:ring-button-light-secondary-border-disabled w-full mt-2 sm:mt-0 md:text-base py-4 sm:py-3 md:px-7 disabled:!bg-[#e5e7eb] whitespace-nowrap hover:border-white hover:ring-0 hover:bg-[#62ba6b] focus:bg-[#00740B] active:bg-[#00740B] border-none" data-component-name="join-waitlist-form-button">Get updates</button></div></div><div class="block w-full sm:hidden"><button type="submit" class="inline-block self-center overflow-hidden max-w-full px-button-px ring-inset rounded-button font-button-font font-button-weight tracking-button-tracking transition-all duration-150 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-state-focus focus-visible:outline disabled:hover-ring-0 md:py-button-lg-py text-button-lg-size border-2 text-button-light-secondary-text bg-button-light-secondary-bg border-button-light-secondary-border ring-button-light-secondary-border hover:text-button-light-secondary-text-hover hover:ring-button-light-secondary-border-hover focus:text-button-light-secondary-text-focus focus:border-button-light-secondary-border-focus focus:ring-button-light-secondary-border-focus active:text-button-light-secondary-text-active active:border-button-light-secondary-border-active active:ring-button-light-secondary-border-active disabled:text-button-light-secondary-text-disabled disabled:bg-button-light-secondary-bg-disabled disabled:border-button-light-secondary-border-disabled disabled:ring-button-light-secondary-border-disabled w-full mt-2 sm:mt-0 md:text-base py-4 sm:py-3 md:px-7 disabled:!bg-[#e5e7eb] whitespace-nowrap hover:border-white hover:ring-0 hover:bg-[#62ba6b] focus:bg-[#00740B] active:bg-[#00740B] border-none" data-component-name="join-waitlist-form-button">Get updates</button></div><input class="sr-only" id=":R1pb6r95n5:" name="address" aria-label="address"/></form><p class="richtext text-xs mt-2 text-shade-60">No charge. Unsubscribe anytime.</p></div><div class="font-aktivgroteskextended mt-[640px]" data-priority="0"><p class="richtext text-base uppercase mb-6">popular posts</p><span class="mb-4 pl-2 border-l border-[#CAD4D7] inline-block"><span class="uppercase text-xs mb-2 block pt-2 font-bold [&_a]:no-underline [&_a]:hover:text-link-light-hover"><a href="/ng/partners/blog/topics/web-design-tools-and-resources" data-component-name="blog-popular-post-Web Design Tools and Resources">Web Design Tools and Resources</a></span><a href="/ng/partners/blog/93130630-10-beautiful-ecommerce-website-color-schemes" data-component-name="blog-popular-post-93130630-10-beautiful-ecommerce-website-color-schemes"><span class="richtext text-base block hover:underline hover:underline-offset-4 font-normal">10 Beautiful Ecommerce Website Color Schemes</span></a></span><span class="mb-4 pl-2 border-l border-[#CAD4D7] inline-block"><span class="uppercase text-xs mb-2 block pt-2 font-bold [&_a]:no-underline [&_a]:hover:text-link-light-hover"><a href="/ng/partners/blog/topics/shopify-app-development" data-component-name="blog-popular-post-Shopify App Development">Shopify App Development</a></span><a href="/ng/partners/blog/how-to-build-a-shopify-app" data-component-name="blog-popular-post-how-to-build-a-shopify-app"><span class="richtext text-base block hover:underline hover:underline-offset-4 font-normal">How to Build a Shopify App: The Complete Guide </span></a></span><span class="mb-4 pl-2 border-l border-[#CAD4D7] inline-block"><span class="uppercase text-xs mb-2 block pt-2 font-bold [&_a]:no-underline [&_a]:hover:text-link-light-hover"><a href="/ng/partners/blog/topics/web-design-tools-and-resources" data-component-name="blog-popular-post-Web Design Tools and Resources">Web Design Tools and Resources</a></span><a href="/ng/partners/blog/79940998-15-funny-lorem-ipsum-generators-to-shake-up-your-design-mockups" data-component-name="blog-popular-post-79940998-15-funny-lorem-ipsum-generators-to-shake-up-your-design-mockups"><span class="richtext text-base block hover:underline hover:underline-offset-4 font-normal">15 Funny Lorem Ipsum Generators to Shake Up Your Design Mockups</span></a></span><span class="mb-4 pl-2 border-l border-[#CAD4D7] inline-block"><span class="uppercase text-xs mb-2 block pt-2 font-bold [&_a]:no-underline [&_a]:hover:text-link-light-hover"><a href="/ng/partners/blog/topics/inspiration-creativity" data-component-name="blog-popular-post-Inspiration & Creativity">Inspiration & Creativity</a></span><a href="/ng/partners/blog/web-design-portfolio-inspiration" data-component-name="blog-popular-post-web-design-portfolio-inspiration"><span class="richtext text-base block hover:underline hover:underline-offset-4 font-normal">20 Memorable Web Design Portfolio Examples to Inspire Your Own Website</span></a></span></div><div class="mt-[640px]"><a href="https://www.shopify.com/editions/winter2025?utm_source=blog&utm_medium=seo&utm_campaign=winter25edition-launch&utm_content=partners_blog_sidebanner" rel=""><img class="object-center w-full duration-300 cursor-pointer article__image--featured mb-2" src="https://cdn.shopify.com/b/shopify-brochure2-assets/fd2392619c15dd4d1a48ecce1586e074.png?originalWidth=274&originalHeight=359" alt="winter banner" loading="lazy" decoding="async" width="274" height="359" srcSet="https://cdn.shopify.com/b/shopify-brochure2-assets/c448cc76f89bd7f085f5f05c6680f9e0.png?originalWidth=547&originalHeight=718"/></a></div><div class="font-aktivgroteskextended mt-[640px]" data-priority="0"><p class="richtext text-base uppercase mb-6">popular posts</p><span class="mb-4 pl-2 border-l border-[#CAD4D7] inline-block"><span class="uppercase text-xs mb-2 block pt-2 font-bold [&_a]:no-underline [&_a]:hover:text-link-light-hover"><a href="/ng/partners/blog/topics/web-design" data-component-name="blog-popular-post-Web Design">Web Design</a></span><a href="/ng/partners/blog/inclusive-design" data-component-name="blog-popular-post-inclusive-design"><span class="richtext text-base block hover:underline hover:underline-offset-4 font-normal">Inclusive Design: 12 Ways to Design for Everyone</span></a></span><span class="mb-4 pl-2 border-l border-[#CAD4D7] inline-block"><span class="uppercase text-xs mb-2 block pt-2 font-bold [&_a]:no-underline [&_a]:hover:text-link-light-hover"><a href="/ng/partners/blog/topics/learning-liquid" data-component-name="blog-popular-post-Learning Liquid">Learning Liquid</a></span><a href="/ng/partners/blog/img-url-filter" data-component-name="blog-popular-post-img-url-filter"><span class="richtext text-base block hover:underline hover:underline-offset-4 font-normal">How to Manipulate Images with the img_url Filter</span></a></span><span class="mb-4 pl-2 border-l border-[#CAD4D7] inline-block"><span class="uppercase text-xs mb-2 block pt-2 font-bold [&_a]:no-underline [&_a]:hover:text-link-light-hover"><a href="/ng/partners/blog/topics/shopify-news" data-component-name="blog-popular-post-Shopify News">Shopify News</a></span><a href="/ng/partners/blog/shopify-marketplace-kit" data-component-name="blog-popular-post-shopify-marketplace-kit"><span class="richtext text-base block hover:underline hover:underline-offset-4 font-normal">Create a Marketplace in Less than 8 Minutes with Shopify’s Marketplace Kit</span></a></span><span class="mb-4 pl-2 border-l border-[#CAD4D7] inline-block"><span class="uppercase text-xs mb-2 block pt-2 font-bold [&_a]:no-underline [&_a]:hover:text-link-light-hover"><a href="/ng/partners/blog/topics/shopify-news" data-component-name="blog-popular-post-Shopify News">Shopify News</a></span><a href="/ng/partners/blog/shopify-online-store" data-component-name="blog-popular-post-shopify-online-store"><span class="richtext text-base block hover:underline hover:underline-offset-4 font-normal">Introducing Online Store 2.0: What it Means For Developers</span></a></span></div></div></div></div></div></div><div itemProp="publisher" itemscope="" itemType="https://schema.org/Organization"><meta itemProp="name" content="Shopify"/><div itemProp="logo" itemscope="" itemType="https://schema.org/ImageObject"><meta itemProp="url" content="https://cdn.shopify.com/assets/images/logos/shopify_logo_black.png"/><meta itemProp="width" content="210"/><meta itemProp="height" content="60"/></div></div></article><div class="py-10 tablet-xl:py-16 overflow-hidden lg:hidden tablet-xl:pt-0 pt-0 [&_h5]:uppercase [&_.popular-posts]:border-t-2"><div class="container"><div class="flex justify-between items-center mb-9"><h5 class="richtext tracking-[-.02em] blog-section-header text-[26px] leading-[30px] tablet:text-[24px] tablet:leading-[32px] font-bold tablet:font-medium">popular posts</h5></div></div><div class="container max-lg:!mr-0"><div class="flex justify-start flex-nowrap max-w-full overflow-x-auto snap-x snap-mandatory gap-x-gutter pr-[var(--margin)] lg:flex-wrap lg:justify-center lg:overflow-hidden lg:gap-y-gutter lg:mb-gutter lg:mx-auto lg:py-4 lg:pr-0"><div class="popular-posts support-card shrink-0 snap-center w-[296px] lg:basis-1/4-gutter"><article class="article--index"><div class="blogPost pt-4"><div class="uppercase font-shopifysans font-medium pb-2 text-[12px] leading-[20px] tracking-[0.02em] text-shade-100 hover:text-link-light-hover"><a href="/ng/partners/blog/topics/web-design-tools-and-resources" class="no-underline">Web Design Tools and Resources</a></div><div class="tracking-[-.02em] font-normal pb-4 hover:underline font-aktivgroteskextended text-shade-100 text-base desktop:text-xl"><a class="tracking-[-.02em] font-normal pb-4 hover:underline font-aktivgroteskextended text-shade-100 text-base desktop:text-xl" href="/ng/partners/blog/93130630-10-beautiful-ecommerce-website-color-schemes" rel="" target="_self">10 Beautiful Ecommerce Website Color Schemes</a></div><p class="richtext text-body-sm font-shopifysans font-normal text-shade-60">2019-08-20</p></div></article></div><div class="popular-posts support-card shrink-0 snap-center w-[296px] lg:basis-1/4-gutter"><article class="article--index"><div class="blogPost pt-4"><div class="uppercase font-shopifysans font-medium pb-2 text-[12px] leading-[20px] tracking-[0.02em] text-shade-100 hover:text-link-light-hover"><a href="/ng/partners/blog/topics/shopify-app-development" class="no-underline">Shopify App Development</a></div><div class="tracking-[-.02em] font-normal pb-4 hover:underline font-aktivgroteskextended text-shade-100 text-base desktop:text-xl"><a class="tracking-[-.02em] font-normal pb-4 hover:underline font-aktivgroteskextended text-shade-100 text-base desktop:text-xl" href="/ng/partners/blog/how-to-build-a-shopify-app" rel="" target="_self">How to Build a Shopify App: The Complete Guide </a></div><p class="richtext text-body-sm font-shopifysans font-normal text-shade-60">2021-02-24</p></div></article></div><div class="popular-posts support-card shrink-0 snap-center w-[296px] lg:basis-1/4-gutter"><article class="article--index"><div class="blogPost pt-4"><div class="uppercase font-shopifysans font-medium pb-2 text-[12px] leading-[20px] tracking-[0.02em] text-shade-100 hover:text-link-light-hover"><a href="/ng/partners/blog/topics/web-design-tools-and-resources" class="no-underline">Web Design Tools and Resources</a></div><div class="tracking-[-.02em] font-normal pb-4 hover:underline font-aktivgroteskextended text-shade-100 text-base desktop:text-xl"><a class="tracking-[-.02em] font-normal pb-4 hover:underline font-aktivgroteskextended text-shade-100 text-base desktop:text-xl" href="/ng/partners/blog/79940998-15-funny-lorem-ipsum-generators-to-shake-up-your-design-mockups" rel="" target="_self">15 Funny Lorem Ipsum Generators to Shake Up Your Design Mockups</a></div><p class="richtext text-body-sm font-shopifysans font-normal text-shade-60">2019-04-17</p></div></article></div><div class="popular-posts support-card shrink-0 snap-center w-[296px] lg:basis-1/4-gutter"><article class="article--index"><div class="blogPost pt-4"><div class="uppercase font-shopifysans font-medium pb-2 text-[12px] leading-[20px] tracking-[0.02em] text-shade-100 hover:text-link-light-hover"><a href="/ng/partners/blog/topics/inspiration-creativity" class="no-underline">Inspiration & Creativity</a></div><div class="tracking-[-.02em] font-normal pb-4 hover:underline font-aktivgroteskextended text-shade-100 text-base desktop:text-xl"><a class="tracking-[-.02em] font-normal pb-4 hover:underline font-aktivgroteskextended text-shade-100 text-base desktop:text-xl" href="/ng/partners/blog/web-design-portfolio-inspiration" rel="" target="_self">20 Memorable Web Design Portfolio Examples to Inspire Your Own Website</a></div><p class="richtext text-body-sm font-shopifysans font-normal text-shade-60">2019-05-01</p></div></article></div><div class="popular-posts support-card shrink-0 snap-center w-[296px] lg:basis-1/4-gutter"><article class="article--index"><div class="blogPost pt-4"><div class="uppercase font-shopifysans font-medium pb-2 text-[12px] leading-[20px] tracking-[0.02em] text-shade-100 hover:text-link-light-hover"><a href="/ng/partners/blog/topics/web-design" class="no-underline">Web Design</a></div><div class="tracking-[-.02em] font-normal pb-4 hover:underline font-aktivgroteskextended text-shade-100 text-base desktop:text-xl"><a class="tracking-[-.02em] font-normal pb-4 hover:underline font-aktivgroteskextended text-shade-100 text-base desktop:text-xl" href="/ng/partners/blog/inclusive-design" rel="" target="_self">Inclusive Design: 12 Ways to Design for Everyone</a></div><p class="richtext text-body-sm font-shopifysans font-normal text-shade-60">2018-03-23</p></div></article></div><div class="popular-posts support-card shrink-0 snap-center w-[296px] lg:basis-1/4-gutter"><article class="article--index"><div class="blogPost pt-4"><div class="uppercase font-shopifysans font-medium pb-2 text-[12px] leading-[20px] tracking-[0.02em] text-shade-100 hover:text-link-light-hover"><a href="/ng/partners/blog/topics/learning-liquid" class="no-underline">Learning Liquid</a></div><div class="tracking-[-.02em] font-normal pb-4 hover:underline font-aktivgroteskextended text-shade-100 text-base desktop:text-xl"><a class="tracking-[-.02em] font-normal pb-4 hover:underline font-aktivgroteskextended text-shade-100 text-base desktop:text-xl" href="/ng/partners/blog/img-url-filter" rel="" target="_self">How to Manipulate Images with the img_url Filter</a></div><p class="richtext text-body-sm font-shopifysans font-normal text-shade-60">2018-01-04</p></div></article></div><div class="popular-posts support-card shrink-0 snap-center w-[296px] lg:basis-1/4-gutter"><article class="article--index"><div class="blogPost pt-4"><div class="uppercase font-shopifysans font-medium pb-2 text-[12px] leading-[20px] tracking-[0.02em] text-shade-100 hover:text-link-light-hover"><a href="/ng/partners/blog/topics/shopify-news" class="no-underline">Shopify News</a></div><div class="tracking-[-.02em] font-normal pb-4 hover:underline font-aktivgroteskextended text-shade-100 text-base desktop:text-xl"><a class="tracking-[-.02em] font-normal pb-4 hover:underline font-aktivgroteskextended text-shade-100 text-base desktop:text-xl" href="/ng/partners/blog/shopify-marketplace-kit" rel="" target="_self">Create a Marketplace in Less than 8 Minutes with Shopify’s Marketplace Kit</a></div><p class="richtext text-body-sm font-shopifysans font-normal text-shade-60">2022-05-13</p></div></article></div><div class="popular-posts support-card shrink-0 snap-center w-[296px] lg:basis-1/4-gutter"><article class="article--index"><div class="blogPost pt-4"><div class="uppercase font-shopifysans font-medium pb-2 text-[12px] leading-[20px] tracking-[0.02em] text-shade-100 hover:text-link-light-hover"><a href="/ng/partners/blog/topics/shopify-news" class="no-underline">Shopify News</a></div><div class="tracking-[-.02em] font-normal pb-4 hover:underline font-aktivgroteskextended text-shade-100 text-base desktop:text-xl"><a class="tracking-[-.02em] font-normal pb-4 hover:underline font-aktivgroteskextended text-shade-100 text-base desktop:text-xl" href="/ng/partners/blog/shopify-online-store" rel="" target="_self">Introducing Online Store 2.0: What it Means For Developers</a></div><p class="richtext text-body-sm font-shopifysans font-normal text-shade-60">2021-01-29</p></div></article></div></div><div class="mobile-indicators mt-6 flex justify-center gap-x-2 lg:hidden"><div class="rounded-full box-content w-2 h-2 bg-black w-2 h-2"></div><div class="rounded-full box-content w-2 h-2 bg-[#d9d9d9] w-2 h-2"></div><div class="rounded-full box-content w-2 h-2 bg-[#d9d9d9] w-2 h-2"></div><div class="rounded-full box-content w-2 h-2 bg-[#d9d9d9] w-2 h-2"></div><div class="rounded-full box-content w-2 h-2 bg-[#d9d9d9] w-2 h-2"></div><div class="rounded-full box-content w-2 h-2 bg-[#d9d9d9] w-2 h-2"></div><div class="rounded-full box-content w-2 h-2 bg-[#d9d9d9] w-2 h-2"></div><div class="rounded-full box-content w-2 h-2 bg-[#d9d9d9] w-2 h-2"></div></div></div></div><div class="grid md:grid-cols-2"><div class="relative overflow-hidden"><img class="h-full w-full object-cover absolute top-0 left-0 bottom-0" src="https://cdn.shopify.com/b/shopify-brochure2-assets/c46f986d892538f4b0a15f25692330f7.png?originalWidth=1420&originalHeight=1040" alt="subscription banner" loading="lazy" decoding="async" width="1420" height="1040" srcSet="https://cdn.shopify.com/b/shopify-brochure2-assets/c46f986d892538f4b0a15f25692330f7.png?originalWidth=1420&originalHeight=1040&width=200 200w, https://cdn.shopify.com/b/shopify-brochure2-assets/c46f986d892538f4b0a15f25692330f7.png?originalWidth=1420&originalHeight=1040&width=400 400w, https://cdn.shopify.com/b/shopify-brochure2-assets/c46f986d892538f4b0a15f25692330f7.png?originalWidth=1420&originalHeight=1040&width=600 600w, https://cdn.shopify.com/b/shopify-brochure2-assets/c46f986d892538f4b0a15f25692330f7.png?originalWidth=1420&originalHeight=1040&width=800 800w, https://cdn.shopify.com/b/shopify-brochure2-assets/c46f986d892538f4b0a15f25692330f7.png?originalWidth=1420&originalHeight=1040&width=1000 1000w, https://cdn.shopify.com/b/shopify-brochure2-assets/c46f986d892538f4b0a15f25692330f7.png?originalWidth=1420&originalHeight=1040&width=1200 1200w, https://cdn.shopify.com/b/shopify-brochure2-assets/c46f986d892538f4b0a15f25692330f7.png?originalWidth=1420&originalHeight=1040&width=1400 1400w"/></div><div class="flex bg-black"><div class="text-left desktop:mx-10 self-center py-16 md:py-28 mx-10 md:mx-0 md:px-4 desktop:px-8"><div class="text-left text-section-dark-text [&_span]:font-aktivgroteskextended [&_span]:text-left tablet-xl:[&_span]:text-[40px] [&_span]:leading-[48px] [&_span]:font-medium [&_span]:tracking-normal [&_p]:text-white [&_p]:text-left [&_p]:text-lg [&_p]:leading-[26px] [&_p]:font-normal [&_p]:tracking-tight [&_p]:pb-6" data-mode="dark" data-component-name="heading-group"><span class="richtext text-t2">Let’s grow your digital business</span><p class="richtext text-body-lg opacity-body pt-sm">Get design inspiration, development tips, and practical takeaways delivered straight to your inbox.</p></div><div class="[&_p]:text-left [&_p]:text-xs [&_p]:leading-[18px] [&_p]:pt-xs [&_button]:mt-[3px]" data-mode="dark" data-center="false"><form method="post" action="/ng/blog/api/subscribe" class="flex w-full flex-col justify-center sm:w-[406px] [&_button]:bg-[#7BE986] items-start text-white"><div id=":Ruh5n5:" data-component-name="waitlist-form-input-wrapper" class="box-border flex h-14 w-full justify-between rounded-full border border-shades-60 border-[#52525B] pl-6 pr-1 items-start text-white bg-white"><label for="email-input-:Ruh5n5H1:" class="sr-only">Email here</label><input id="email-input-:Ruh5n5H1:" class="text-shade-70 h-14 w-full bg-transparent outline-none placeholder:text-black placeholder:font-normal" type="email" spellcheck="false" autoComplete="email" name="email" placeholder="Email here"/><input type="hidden" name="subscriptionId" value="DE84EF61-2A02-4778-8807-F01B108DE974"/><input type="hidden" name="signup_page" value="/ng/partners/blog/how-to-build-a-shopify-app"/><input type="hidden" name="locale" value="en-NG"/><input type="hidden" name="blogHandle" value="partners"/><input type="hidden" name="form_type" value="subscribe"/><div class="hidden sm:block"><button type="submit" class="inline-block self-center overflow-hidden max-w-full px-button-px ring-inset rounded-button font-button-font font-button-weight tracking-button-tracking transition-all duration-150 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-state-focus focus-visible:outline disabled:hover-ring-0 md:py-button-lg-py text-button-lg-size border-2 text-button-light-secondary-text bg-button-light-secondary-bg border-button-light-secondary-border ring-button-light-secondary-border hover:text-button-light-secondary-text-hover hover:ring-button-light-secondary-border-hover focus:text-button-light-secondary-text-focus focus:border-button-light-secondary-border-focus focus:ring-button-light-secondary-border-focus active:text-button-light-secondary-text-active active:border-button-light-secondary-border-active active:ring-button-light-secondary-border-active disabled:text-button-light-secondary-text-disabled disabled:bg-button-light-secondary-bg-disabled disabled:border-button-light-secondary-border-disabled disabled:ring-button-light-secondary-border-disabled w-full mt-2 sm:mt-0 md:text-base py-4 sm:py-3 md:px-7 disabled:!bg-[#e5e7eb] whitespace-nowrap hover:border-white hover:ring-0 hover:bg-[#62ba6b] focus:bg-[#00740B] active:bg-[#00740B] border-none" data-component-name="join-waitlist-form-button">Get updates</button></div></div><div class="block w-full sm:hidden"><button type="submit" class="inline-block self-center overflow-hidden max-w-full px-button-px ring-inset rounded-button font-button-font font-button-weight tracking-button-tracking transition-all duration-150 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-state-focus focus-visible:outline disabled:hover-ring-0 md:py-button-lg-py text-button-lg-size border-2 text-button-light-secondary-text bg-button-light-secondary-bg border-button-light-secondary-border ring-button-light-secondary-border hover:text-button-light-secondary-text-hover hover:ring-button-light-secondary-border-hover focus:text-button-light-secondary-text-focus focus:border-button-light-secondary-border-focus focus:ring-button-light-secondary-border-focus active:text-button-light-secondary-text-active active:border-button-light-secondary-border-active active:ring-button-light-secondary-border-active disabled:text-button-light-secondary-text-disabled disabled:bg-button-light-secondary-bg-disabled disabled:border-button-light-secondary-border-disabled disabled:ring-button-light-secondary-border-disabled w-full mt-2 sm:mt-0 md:text-base py-4 sm:py-3 md:px-7 disabled:!bg-[#e5e7eb] whitespace-nowrap hover:border-white hover:ring-0 hover:bg-[#62ba6b] focus:bg-[#00740B] active:bg-[#00740B] border-none" data-component-name="join-waitlist-form-button">Get updates</button></div><input class="sr-only" id=":Reauh5n5:" name="address" aria-label="address"/></form><p class="richtext text-body-sm pt-sm sm:w-[406px] w-full items-left text-white">No charge. Unsubscribe anytime.</p></div></div></div></div></section><div class="relative overflow-hidden bg-partners-conversionBg bg-no-repeat tablet-xl:bg-partners-bottom-converion tablet-xl:bg-cover tablet-xl:bg-center bg-partners-bottom-converion-mobile bg-contain bg-left-bottom" data-component-name="cta-footer-banner"><div class="container relative flex flex-col items-center text-center py-[54px] tablet-xl:py-32"><span class="richtext normal-case font-light text-white font-sans text-[42px] tablet-xl:text-[64px] max-w-[800px] mb-9">Grow your business with the Shopify Partner Program</span><div data-component-name="button-group" class="text-base relative z-20 [&_a]:bg-partners-conversionButton [&_a]:text-partners-conversionButtonText [&_a]:font-ibmmono [&_a]:text-base [&_a]:font-medium [&_a]:hover:bg-[#62ba6b] [&_a]:hover:text-black [&_a]:px-5 [&_a]:py-[10px]" data-mode="light"><div class="flex gap-y-sm flex-wrap gap-x-sm justify-center"><a href="/ng/partners" class="inline-block self-center overflow-hidden max-w-full px-button-px py-button-py ring-inset rounded-button font-button-font font-button-weight tracking-button-tracking transition-all duration-150 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-state-focus focus-visible:outline md:px-button-lg-px md:py-button-lg-py text-button-lg-size border-2 text-button-light-primary-text bg-button-light-primary-bg border-button-light-primary-border ring-button-light-primary-border hover:text-button-light-primary-text-hover hover:bg-button-light-primary-bg-hover hover:border-button-light-primary-border-hover hover:ring-button-light-primary-border-hover focus:text-button-light-primary-text-focus focus:bg-button-light-primary-bg-focus focus:border-button-light-primary-border-focus focus:ring-button-light-primary-border-focus active:text-button-light-primary-text-active active:bg-button-light-primary-bg-active active:border-button-light-primary-border-active active:ring disabled:text-button-light-primary-text-disabled disabled:bg-button-light-primary-bg-disabled disabled:border-button-light-primary-border-disabled disabled:ring-button-light-primary-border-disabled" data-component-name="button" data-mode="light" target="">Join Today</a></div></div></div></div></main><div class="bg-black text-white"><div class="container"><div class="border-b border-[#151516] flex flex-col items-start md:flex-row pt-14 pb-4 md:pb-6"><a href="/ng/about" class="text-base font-bold mb-4 md:mr-5">About</a><a href="/ng/careers" class="text-base font-bold mb-4 md:mr-5">Careers</a><a href="https://www.shopify.com/news" class="text-base font-bold mb-4 md:mr-5">Press and Media</a><a href="/ng/plus" class="text-base font-bold mb-4 md:mr-5">Shopify Plus</a><a href="/ng/sitemap" class="text-base font-bold mb-4 md:mr-5">Sitemap</a></div></div><div class="border-b border-[#151516] pt-8 md:pt-5"><div class="container flex flex-row"><div class="md:flex md:flex-row md:mb-6 w-1/2 md:w-4/6"><div class="mb-16 md:mb-0 md:w-3/4"><div class="text-sm uppercase font-extrabold mb-4">Online Store</div><div class="md:columns-3"><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/online">Sell Online</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/examples">Examples</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/website/builder">Website Builder</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/tour">Online Retail</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/tour/ecommerce-website">Ecommerce Website</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/domains">Domain Names</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/tour/shopping-cart">Shopping Cart</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/tour/ecommerce-hosting">Ecommerce Hosting</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/mobile">Mobile Commerce</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/online-store">Online Store Builder</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/dropshipping">Dropshipping Business</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="https://themes.shopify.com/">Store Themes</a></div></div></div><div class="mb-16 md:mb-0 md:w-1/4"><div class="text-sm uppercase font-extrabold mb-4">Point of Sale</div><div class="columns-1"><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/pos">Point of Sale</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/pos/features">Features</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/pos/store">Hardware</a></div></div></div></div><div class="md:flex md:flex-row md:mb-6 w-1/2 md:w-2/6"><div class="mb-16 md:mb-0 md:w-1/2"><div class="text-sm uppercase font-extrabold mb-4">Support</div><div class="columns-1"><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="https://help.shopify.com/en/questions">24/7 support</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="https://help.shopify.com/en/">Shopify Help Center</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="https://community.shopify.com/c/Shopify-Community/ct-p/en?utm_campaign=footer&utm_content=en&utm_medium=web&utm_source=shopify">Shopify Community</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="https://shopify.dev/docs/api">API Documentation</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/tools">Free Tools</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/stock-photos">Free Stock Photos</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/tools/logo-maker">Logo Maker</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/tools/business-name-generator">Business Name Generator </a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/plus/commerce-trends">Research</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/legal">Legal</a></div></div></div><div class="mb-16 md:mb-0 md:w-1/2"><div class="text-sm uppercase font-extrabold mb-4">Shopify</div><div class="columns-1"><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/contact">Contact</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/partners">Partner Program</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/affiliates">Affiliate Program</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="https://shopify.dev/?shpxid=a8997906-5385-4535-23F8-D9928E4EE397">App Developers</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="https://shopifyinvestors.com/Home/default.aspx">Investors</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/blog/topics">Blog Topics</a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="https://community.shopify.com/c/events/eb-p/events_en/home?utm_campaign=homepage&utm_content=en&utm_medium=web&utm_source=shopify"></a></div><div class="mb-3 pr-4"><a class="text-sm text-[#B6BABF] hover:text-white" href="/ng/fulfillment">Fulfillment</a></div></div></div></div></div></div><div class="container flex flex-col-reverse md:flex-row items-center justify-between pt-8 pb-16 md:py-10"><ul class="flex gap-4 md:gap-6 mt-5 md:mt-0" data-component-name="social"><li><a class="block h-8 w-8 fill-white hover:fill-shade-30" href="https://www.facebook.com/shopify" rel="me nofollow noopener noreferrer" target="_blank" data-component-name="social-facebook" aria-label="External source: Facebook (Opens in a new window)"><svg viewBox="0 0 30 30"><path d="M15.6 30V19.4h5V15h-5v-3.1c0-1 .6-1.9 1.3-1.9h3.8V5.6h-3.8c-3.1 0-5.6 2.8-5.6 6.3V15H7.5v4.4h3.8v10.1C4.8 27.9 0 22 0 15 0 6.7 6.7 0 15 0s15 6.7 15 15c0 8.1-6.4 14.7-14.4 15z"></path></svg></a></li><li><a class="block h-8 w-8 fill-white hover:fill-shade-30" href="https://twitter.com/shopify" rel="me nofollow noopener noreferrer" target="_blank" data-component-name="social-twitter" aria-label="External source: Twitter (Opens in a new window)"><svg viewBox="0 0 19 19"><path fill-rule="evenodd" clip-rule="evenodd" d="M19 9.5C19 14.7467 14.7467 19 9.5 19C4.25329 19 0 14.7467 0 9.5C0 4.25329 4.25329 0 9.5 0C14.7467 0 19 4.25329 19 9.5ZM8.18721 10.0675L3.64633 3.99603H7.14609L10.123 7.97639L13.8073 3.99603H14.8358L10.5825 8.59099L15.379 15.0039H11.8792L8.64689 10.6819L4.6462 15.0039H3.61771L8.18721 10.0675ZM6.76655 4.75353H5.15877L12.2586 14.2464H13.8663L6.76655 4.75353Z"></path></svg></a></li><li><a class="block h-8 w-8 fill-white hover:fill-shade-30" href="https://www.youtube.com/user/shopify" rel="me nofollow noopener noreferrer" target="_blank" data-component-name="social-youtube" aria-label="External source: YouTube (Opens in a new window)"><svg viewBox="0 0 30 30"><path d="M30 15c0 8.3-6.7 15-15 15S0 23.3 0 15 6.7 0 15 0s15 6.7 15 15zm-5.6 0c0-6.9 0-6.9-9.4-6.9s-9.4 0-9.4 6.9 0 6.9 9.4 6.9 9.4 0 9.4-6.9zm-11.9-3.7 6.3 3.8-6.3 3.8v-7.6z"></path></svg></a></li><li><a class="block h-8 w-8 fill-white hover:fill-shade-30" href="https://www.instagram.com/shopify/" rel="me nofollow noopener noreferrer" target="_blank" data-component-name="social-instagram" aria-label="External source: Instagram (Opens in a new window)"><svg viewBox="0 0 18 18"><path clip-rule="evenodd" d="M9 0c5 0 9 4 9 9s-4 9-9 9-9-4-9-9 4-9 9-9zM6.7 3.5h4.7c1.8 0 3.2 1.4 3.2 3.1v4.7c0 1.7-1.4 3.1-3.2 3.1H6.7c-1.8 0-3.2-1.4-3.2-3.1V6.7c0-1.8 1.4-3.2 3.2-3.2zM9 6.2c1.6 0 2.9 1.3 2.9 2.9S10.6 12 9 12s-3-1.3-3-2.9 1.3-2.9 3-2.9zm0 1.2c.9 0 1.7.8 1.7 1.7 0 .9-.8 1.7-1.7 1.7-.9 0-1.7-.8-1.7-1.7 0-.9.7-1.7 1.7-1.7zm2.8-1.7c.3 0 .6.2.6.6 0 .3-.2.6-.6.6-.3 0-.6-.2-.6-.6 0-.4.3-.6.6-.6zm-4.6-1h3.7c1.4 0 2.5 1.1 2.5 2.5v3.7c0 1.4-1.1 2.5-2.5 2.5H7.2c-1.4 0-2.5-1.1-2.5-2.5V7.2c-.1-1.4 1.1-2.5 2.5-2.5z" fill-rule="evenodd"></path></svg></a></li><li><a class="block h-8 w-8 fill-white hover:fill-shade-30" href="https://www.tiktok.com/@shopify" rel="me nofollow noopener noreferrer" target="_blank" data-component-name="social-tiktok" aria-label="External source: TikTok (Opens in a new window)"><svg viewBox="0 0 30 30"><path fill-rule="evenodd" clip-rule="evenodd" d="M15 30C23.2843 30 30 23.2843 30 15C30 6.71573 23.2843 0 15 0C6.71573 0 0 6.71573 0 15C0 23.2843 6.71573 30 15 30ZM17.9679 11.937C19.1423 12.7643 20.551 13.2076 21.9952 13.2041V10.3838C21.2138 10.3841 20.4497 10.1579 19.7979 9.73365C19.3398 9.44298 18.9467 9.06336 18.6427 8.61802C18.3387 8.17268 18.1302 7.67098 18.0299 7.1436C17.9873 6.90737 17.9669 6.66779 17.9689 6.42789H15.0829V17.7069C15.0829 18.2146 14.92 18.7094 14.6173 19.1206C14.3146 19.5317 13.8877 19.8382 13.3975 19.9962C12.9073 20.1543 12.3789 20.1558 11.8878 20.0006C11.3966 19.8454 10.9679 19.5414 10.6627 19.1321C10.3576 18.7227 10.1916 18.2289 10.1886 17.7211C10.1856 17.2134 10.3456 16.7177 10.6458 16.3048C10.946 15.8919 11.3711 15.583 11.8604 15.4221C12.3496 15.2612 12.878 15.2566 13.37 15.409V12.5068C12.2944 12.3595 11.1987 12.539 10.2295 13.0213C9.26031 13.5037 8.46383 14.2658 7.94658 15.2058C7.42933 16.1458 7.21597 17.2188 7.33504 18.2814C7.4541 19.344 7.89992 20.3455 8.61286 21.1519C9.3258 21.9583 10.2719 22.5312 11.3246 22.794C12.3772 23.0568 13.4863 22.997 14.5035 22.6225C15.5207 22.2479 16.3975 21.5766 17.0166 20.6983C17.6357 19.82 17.9676 18.7766 17.9679 17.7075V11.937Z"></path></svg></a></li><li><a class="block h-8 w-8 fill-white hover:fill-shade-30" href="https://www.linkedin.com/company/shopify" rel="me nofollow noopener noreferrer" target="_blank" data-component-name="social-linkedin" aria-label="External source: LinkedIn (Opens in a new window)"><svg viewBox="0 0 30 30"><path d="M30 15c0 8.3-6.7 15-15 15S0 23.3 0 15 6.7 0 15 0s15 6.7 15 15zM11.3 7.8c0-1.2-1-2.2-2.5-2.2s-2.5.9-2.5 2.2c0 1.2 1 2.2 2.5 2.2s2.5-1 2.5-2.2zm-.7 4.1H6.9v10.6h3.8V11.9zm13.8 5c0-3.4-1.7-5.6-4.4-5.6-1.5 0-2.6.9-3.1 2.3l-.1-1.6H13c0 .4.1 2.5.1 2.5v8.1h3.8V17c0-1.5.7-2.5 1.8-2.5s1.9.6 1.9 2.5v5.6h3.8v-5.7z"></path></svg></a></li><li><a class="block h-8 w-8 fill-white hover:fill-shade-30" href="https://www.pinterest.com/shopify/" rel="me nofollow noopener noreferrer" target="_blank" data-component-name="social-pinterest" aria-label="External source: Pinterest (Opens in a new window)"><svg viewBox="0 0 30 30"><path d="M15 30c-1.5 0-2.9-.2-4.3-.6.6-.9 1.2-2 1.5-3.2.2-.7 1-4.1 1-4.1.5 1 2 1.9 3.7 1.9 4.8 0 8.1-4.4 8.1-10.3 0-4.4-3.8-8.6-9.5-8.6-7.1-.1-10.6 5-10.6 9.3 0 2.6 1 4.9 3.1 5.7.3.1.7 0 .8-.4.1-.2.2-.9.3-1.2.1-.4 0-.5-.2-.8-.6-.7-1-1.6-1-3 0-3.8 2.8-7.2 7.4-7.2 4 0 6.2 2.5 6.2 5.8 0 4.3-1.9 8-4.8 8-1.6 0-2.7-1.3-2.4-2.9.5-1.9 1.3-4 1.3-5.3 0-1.2-.7-2.3-2-2.3-1.6 0-2.9 1.7-2.9 3.9 0 1.4.5 2.4.5 2.4S9.5 24 9.3 25.3c-.3 1.1-.4 2.4-.3 3.5-5.3-2.4-9-7.7-9-13.8C0 6.7 6.7 0 15 0s15 6.7 15 15-6.7 15-15 15z"></path></svg></a></li></ul><div class="flex flex-col md:flex-row items-center"><a href="/ng/https://www.shopify.com/legal/terms" class="text-white text-15 ml-0 md:ml-6 mb-3 md:mb-[2px]">Terms of Service</a><a href="/ng/https://www.shopify.com/legal/privacy" class="text-white text-15 ml-0 md:ml-6 mb-[2px]">Privacy Policy</a><div class="relative hidden sm:block" data-click-outside="dismiss" data-component-name="regions"><button aria-controls="regionSelector" aria-expanded="false" aria-haspopup="true" class="bg-transparent mx-auto md:inline-block py-3" type="button" data-component-name="region-selector-open" tabindex="0" aria-label="Region Navigation. Current: Nigeria"><span class="inline-flex items-center"><svg viewBox="0 0 45 45" aria-hidden="true" focusable="false" class="mr-1 h-4 w-4 fill-black"><path d="M22.5 2A20.5 20.5 0 1 0 43 22.5 20.52 20.52 0 0 0 22.5 2zm-4.23 28.79A33.67 33.67 0 0 0 22 31a34.54 34.54 0 0 0 4.76-.33 30.45 30.45 0 0 1-4.26 9 30.41 30.41 0 0 1-4.23-8.88zM22 28a29.86 29.86 0 0 1-4.47-.34A31 31 0 0 1 17 22a29.87 29.87 0 0 1 .36-4.64A30.13 30.13 0 0 1 22 17a31 31 0 0 1 5.66.53A29.85 29.85 0 0 1 28 22a31 31 0 0 1-.5 5.5 31 31 0 0 1-5.5.5zm-7.64-1a25.22 25.22 0 0 1-9.15-4.5 24.89 24.89 0 0 1 9-4.48A33.56 33.56 0 0 0 14 22a34.61 34.61 0 0 0 .36 5zM22.5 5.21a25.25 25.25 0 0 1 4.5 9.15 34.61 34.61 0 0 0-5-.36 33.58 33.58 0 0 0-4 .24 25.24 25.24 0 0 1 4.5-9.03zm8.29 13.06a30.41 30.41 0 0 1 8.89 4.23 30.46 30.46 0 0 1-9 4.26A34.54 34.54 0 0 0 31 22a33.67 33.67 0 0 0-.21-3.73zm8.82.59A33.75 33.75 0 0 0 30.26 15a29.2 29.2 0 0 0-3.89-9.56 17.54 17.54 0 0 1 13.24 13.42zm-21-13.41a29.16 29.16 0 0 0-3.85 9.35 29.16 29.16 0 0 0-9.35 3.85A17.54 17.54 0 0 1 18.64 5.44zM5.44 26.36a29.2 29.2 0 0 0 9.56 3.9 33.75 33.75 0 0 0 3.86 9.36A17.54 17.54 0 0 1 5.44 26.36zm20.7 13.25a33.73 33.73 0 0 0 3.91-9.56 33.73 33.73 0 0 0 9.56-3.91 17.55 17.55 0 0 1-13.47 13.47z"></path></svg><span class="break-keep">Nigeria</span><svg viewBox="0 0 10 5" aria-hidden="true" focusable="false" class="ml-2 h-3 w-3 fill-black"><path d="m0 0 5 5 5-5H0z"></path></svg></span></button><div aria-hidden="true" class="w-128 absolute bottom-[calc(100%+5em)] z-50 rounded-lg leading-8 bg-white text-black shadow-soft-2xl right-0" id="regionSelector" data-component-name="region-selector" style="display:none"><ul class="columns-2 px-5 py-8 md:px-14 md:py-10" data-component-name="region-nav" id="region-nav"><li class="flex"><a class="flex hover:underline text-black" href="/ng/partners/blog/how-to-build-a-shopify-app" data-component-name="en-0" aria-current="true">Nigeria<svg viewBox="0 0 10 8" fill="none" aria-hidden="true" focusable="false" class="ml-2 w-3"><path d="M0.75 4.75L3 7.25L9.25 0.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></li><li class="flex"><a class="flex hover:underline text-black" href="/au/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-1" aria-current="false">Australia</a></li><li class="flex"><a class="flex hover:underline text-black" href="/ca/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-2" aria-current="false">Canada (English)</a></li><li class="flex"><a class="flex hover:underline text-black" href="/hk-en/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-3" aria-current="false">Hong Kong SAR</a></li><li class="flex"><a class="flex hover:underline text-black" href="/in/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-4" aria-current="false">India</a></li><li class="flex"><a class="flex hover:underline text-black" href="/id/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-5" aria-current="false">Indonesia</a></li><li class="flex"><a class="flex hover:underline text-black" href="/ie/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-6" aria-current="false">Ireland</a></li><li class="flex"><a class="flex hover:underline text-black" href="/my/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-7" aria-current="false">Malaysia</a></li><li class="flex"><a class="flex hover:underline text-black" href="/nz/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-8" aria-current="false">New Zealand</a></li><li class="flex"><a class="flex hover:underline text-black" href="/ph/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-9" aria-current="false">Philippines</a></li><li class="flex"><a class="flex hover:underline text-black" href="/sg/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-10" aria-current="false">Singapore</a></li><li class="flex"><a class="flex hover:underline text-black" href="/za/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-11" aria-current="false">South Africa</a></li><li class="flex"><a class="flex hover:underline text-black" href="/uk/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-12" aria-current="false">United Kingdom</a></li><li class="flex"><a class="flex hover:underline text-black" href="/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-13" aria-current="false">USA</a></li></ul></div></div><div class="relative block sm:hidden" data-click-outside="dismiss" data-component-name="regions"><div aria-hidden="true" class="fixed top-0 left-0 z-50 h-full w-full text-[1.1428571429em] will-change-auto transition-opacity motion-reduce:transition-none bg-white pointer-events-none opacity-0"></div><button class="bg-transparent mx-auto md:inline-block py-3" type="button" data-component-name="region-selector-open" tabindex="0" aria-label="Region Navigation. Current: Nigeria"><span class="inline-flex items-center"><svg viewBox="0 0 45 45" aria-hidden="true" focusable="false" class="mr-1 h-4 w-4 fill-black"><path d="M22.5 2A20.5 20.5 0 1 0 43 22.5 20.52 20.52 0 0 0 22.5 2zm-4.23 28.79A33.67 33.67 0 0 0 22 31a34.54 34.54 0 0 0 4.76-.33 30.45 30.45 0 0 1-4.26 9 30.41 30.41 0 0 1-4.23-8.88zM22 28a29.86 29.86 0 0 1-4.47-.34A31 31 0 0 1 17 22a29.87 29.87 0 0 1 .36-4.64A30.13 30.13 0 0 1 22 17a31 31 0 0 1 5.66.53A29.85 29.85 0 0 1 28 22a31 31 0 0 1-.5 5.5 31 31 0 0 1-5.5.5zm-7.64-1a25.22 25.22 0 0 1-9.15-4.5 24.89 24.89 0 0 1 9-4.48A33.56 33.56 0 0 0 14 22a34.61 34.61 0 0 0 .36 5zM22.5 5.21a25.25 25.25 0 0 1 4.5 9.15 34.61 34.61 0 0 0-5-.36 33.58 33.58 0 0 0-4 .24 25.24 25.24 0 0 1 4.5-9.03zm8.29 13.06a30.41 30.41 0 0 1 8.89 4.23 30.46 30.46 0 0 1-9 4.26A34.54 34.54 0 0 0 31 22a33.67 33.67 0 0 0-.21-3.73zm8.82.59A33.75 33.75 0 0 0 30.26 15a29.2 29.2 0 0 0-3.89-9.56 17.54 17.54 0 0 1 13.24 13.42zm-21-13.41a29.16 29.16 0 0 0-3.85 9.35 29.16 29.16 0 0 0-9.35 3.85A17.54 17.54 0 0 1 18.64 5.44zM5.44 26.36a29.2 29.2 0 0 0 9.56 3.9 33.75 33.75 0 0 0 3.86 9.36A17.54 17.54 0 0 1 5.44 26.36zm20.7 13.25a33.73 33.73 0 0 0 3.91-9.56 33.73 33.73 0 0 0 9.56-3.91 17.55 17.55 0 0 1-13.47 13.47z"></path></svg><span class="break-keep">Nigeria</span><svg viewBox="0 0 10 5" aria-hidden="true" focusable="false" class="ml-2 h-3 w-3 fill-black"><path d="m0 0 5 5 5-5H0z"></path></svg></span></button><div aria-hidden="true" class="webkit-overflow-scrolling-touch fixed overflow-hidden z-[999] box-content will-change-auto w-full inset-0 mt-16 rounded-t-lg leading-[3rem] duration-300 ease-in-out motion-reduce:animation-none motion-reduce:transition-none bg-white text-black shadow-soft-2xl invisible translate-y-full" id="mobileRegionSelector" aria-label="Region Navigation" aria-modal="true" role="dialog"><div class="border-shade-30 border-b"><div class="flex items-center justify-between px-5 py-4"><h3 class="text-lg font-medium">Country/region</h3><button class="h-[1.2em] w-[1.2em] fill-current" type="button" data-component-name="region-selector-close"><svg viewBox="0 0 20 20" aria-label="Close Region Navigation" class="h-[1.2em] w-[1.2em] fill-current fill-black"><path d="m11.414 10 6.293-6.293a1 1 0 0 0-1.414-1.414L10 8.586 3.707 2.293a1 1 0 0 0-1.414 1.414L8.586 10l-6.293 6.293a1 1 0 0 0 1.414 1.414L10 11.414l6.293 6.293a.996.996 0 0 0 1.414 0 1 1 0 0 0 0-1.414L11.414 10z"></path></svg></button></div></div><div class="h-full overflow-y-scroll pb-4"><ul class="columns-2 px-5 py-8 md:px-14 md:py-10" data-component-name="region-nav" id="region-nav"><li class="flex"><a class="flex hover:underline text-black" href="/ng/partners/blog/how-to-build-a-shopify-app" data-component-name="en-0" aria-current="true">Nigeria<svg viewBox="0 0 10 8" fill="none" aria-hidden="true" focusable="false" class="ml-2 w-3"><path d="M0.75 4.75L3 7.25L9.25 0.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></li><li class="flex"><a class="flex hover:underline text-black" href="/au/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-1" aria-current="false">Australia</a></li><li class="flex"><a class="flex hover:underline text-black" href="/ca/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-2" aria-current="false">Canada (English)</a></li><li class="flex"><a class="flex hover:underline text-black" href="/hk-en/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-3" aria-current="false">Hong Kong SAR</a></li><li class="flex"><a class="flex hover:underline text-black" href="/in/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-4" aria-current="false">India</a></li><li class="flex"><a class="flex hover:underline text-black" href="/id/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-5" aria-current="false">Indonesia</a></li><li class="flex"><a class="flex hover:underline text-black" href="/ie/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-6" aria-current="false">Ireland</a></li><li class="flex"><a class="flex hover:underline text-black" href="/my/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-7" aria-current="false">Malaysia</a></li><li class="flex"><a class="flex hover:underline text-black" href="/nz/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-8" aria-current="false">New Zealand</a></li><li class="flex"><a class="flex hover:underline text-black" href="/ph/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-9" aria-current="false">Philippines</a></li><li class="flex"><a class="flex hover:underline text-black" href="/sg/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-10" aria-current="false">Singapore</a></li><li class="flex"><a class="flex hover:underline text-black" href="/za/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-11" aria-current="false">South Africa</a></li><li class="flex"><a class="flex hover:underline text-black" href="/uk/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-12" aria-current="false">United Kingdom</a></li><li class="flex"><a class="flex hover:underline text-black" href="/partners/blog/how-to-build-a-shopify-app" lang="en" data-component-name="en-13" aria-current="false">USA</a></li></ul></div></div></div></div></div></div></div><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/entry.client-CCw1D0Zu.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/components-QnKyvIo_.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/I18N-B4RqkTU0.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/Wrapper-Dq1sM23_.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/Image-PsEj76j4.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/Section-HFb-18Tj.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/HeadingGroup-D0WZVkoJ.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/SideBySide-CajnQg_z.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/Provider-DIowsu2f.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/SectionHeader-Bbl4a3no.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/root-Dsv-zn--.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/preload-font-ZmawZdZM.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/layout-BQqc8FJm.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/PageLayout-DP2wFn7I.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/XIcon.svg-C1jBKNqN.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/NavigationSearch-C8UeQfnV.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/index-B1cF1y-e.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/BlogCard-e6uLcD4Y.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/Conversion-DWUSSQF2.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/constants-Cm4ZPFll.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/Image-Dl2Sgi1E.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/constants-Cs9nQPfb.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/partnersHelpers-BlRjfC34.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/BaseInput-DpRjHB7D.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/utils-CX6dXFB8.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/ArticleCarousel-0LF26-_q.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/article-Diuv5CR1.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/BlogConversion-DA9DyWoi.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/LatestSection-qOtEhVTl.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/blog-C7ergCON.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/PartnersFooter-QdAqYrz9.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/useBlogPageTitle-CStAzZdB.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/handle-BeFHnPVi.js"/><link rel="modulepreload" href="https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/route-Ck7zVXtx.js"/><script>window.__remixContext = {"url":"/ng/partners/blog/how-to-build-a-shopify-app","basename":"/","future":{"v3_fetcherPersist":false,"v3_relativeSplatPath":false,"v3_throwAbortReason":false,"unstable_singleFetch":false,"unstable_fogOfWar":true},"isSpaMode":false,"state":{"loaderData":{"pages/shopify.com/($locale)~~layout":{"mainNavData":[{"content":"Solutions","data":{"gaEvent":"Main Nav","gaAction":"Online Solutions"},"navItems":[{"content":"Start","data":{"gaEvent":"Main Nav","gaAction":"Build Nav"},"columnStart":1,"columnSpan":3,"icon":"build","navItems":[{"content":"Start your business","url":"/ng/start","separated":true,"data":{"gaEvent":"Main Nav","gaAction":"Start"},"description":"Build your brand"},{"content":"Create your website","url":"/ng/website/builder","data":{"gaEvent":"Main Nav","gaAction":"Create your website"},"description":"Online store editor"},{"content":"Customize your store","url":"https://themes.shopify.com/","data":{"gaEvent":"Main Nav","gaAction":"Customize your store"},"description":"Store themes"},{"content":"Find business apps","url":"https://apps.shopify.com/","data":{"gaEvent":"Main Nav","gaAction":"Find business apps"},"description":"Shopify app store"},{"content":"Own your site domain","url":"/ng/domains","data":{"gaEvent":"Main Nav","gaAction":"Own your site domain"},"description":"Domains \u0026 hosting"},{"content":"Explore free business tools","url":"/ng/tools","data":{"gaEvent":"Main Nav","gaAction":"Explore free business tools"},"description":"Tools to run your business"}]},{"content":"Sell","data":{"gaEvent":"Main Nav","gaAction":"Sell Nav"},"columnStart":4,"columnSpan":3,"icon":"sell","navItems":[{"content":"Sell your products","url":"/ng/sell","separated":true,"data":{"gaEvent":"Main Nav","gaAction":"Sell your products"},"description":"Sell online or in person"},{"content":"Sell online","url":"/ng/online","data":{"gaEvent":"Main Nav","gaAction":"Sell online"},"description":"Grow your business online"},{"content":"Sell across channels","url":"/ng/channels","data":{"gaEvent":"Main Nav","gaAction":"Sell on across channels"},"description":"Reach millions of shoppers and boost sales"},{"content":"Sell in person","url":"/ng/pos","data":{"gaEvent":"Main Nav","gaAction":"Sell in person"},"description":"Point of Sale (POS)"},{"content":"Sell globally","url":"/ng/markets","data":{"gaEvent":"Main Nav","gaAction":"Sell globally"},"description":"International sales"},{"content":"Sell wholesale \u0026 direct","url":"/ng/plus/solutions/b2b-ecommerce","data":{"gaEvent":"Main Nav","gaAction":"Sell wholesale and direct"},"description":"Business-to-business (B2B)"}]},{"content":"Market","data":{"gaEvent":"Main Nav","gaAction":"Market Nav"},"columnStart":7,"columnSpan":3,"icon":"market","navItems":[{"content":"Market your business","url":"/ng/marketing","separated":true,"data":{"gaEvent":"Main Nav","gaAction":"Market your business"},"description":"Reach \u0026 retain customers"},{"content":"Market across social","url":"/ng/facebook-instagram","data":{"gaEvent":"Main Nav","gaAction":"Market across social"},"description":"Social media integrations"},{"content":"Chat with customers","url":"/ng/inbox","data":{"gaEvent":"Main Nav","gaAction":"inbox"},"description":"Shopify Inbox"},{"content":"Nurture customers","url":"/ng/email-marketing","data":{"gaEvent":"Main Nav","gaAction":"Shopify Email"},"description":"Shopify Email"},{"content":"Know your audience","url":"/ng/segmentation","data":{"gaEvent":"Main Nav","gaAction":"Know your customers"},"description":"Gain customer insights"}]},{"content":"Manage","data":{"gaEvent":"Main Nav","gaAction":"Manage Nav"},"columnStart":10,"columnSpan":3,"icon":"manage","navItems":[{"content":"Manage your business","url":"/ng/manage","separated":true,"data":{"gaEvent":"Main Nav","gaAction":"Manage your business"},"description":"Track sales, orders \u0026 analytics"},{"content":"Measure your performance","url":"/ng/analytics","data":{"gaEvent":"Main Nav","gaAction":"Measure your Performance"},"description":"Analytics and Reporting"},{"content":"Manage your stock \u0026 orders","url":"/ng/orders","data":{"gaEvent":"Main Nav","gaAction":"Organize inventory and orders"},"description":"Inventory \u0026 order management"},{"content":"Automate your business","url":"/ng/flow","data":{"gaEvent":"Main Nav","gaAction":"Automate your business"},"description":"Shopify Flow"}]},{"aside":true,"columnStart":1,"columnSpan":12,"navItems":[{"content":"Shopify Developers","url":"https://shopify.dev","data":{"gaEvent":"Main Nav","gaAction":"Shopify Developers"},"description":"Build with Shopify's powerful APIs","columnSpan":3},{"content":"Plus","url":"/ng/plus","data":{"gaEvent":"Main Nav","gaAction":"Shopify Plus"},"description":"A commerce solution for growing digital brands","columnSpan":3},{"content":"All Products","url":"/ng/products","data":{"gaEvent":"Main Nav","gaAction":"All products"},"description":"Explore all Shopify products \u0026 features","columnSpan":3}]}]},{"content":"Pricing","url":"/ng/pricing","data":{"gaEvent":"Main Nav","gaAction":"Pricing Nav"}},{"content":"Resources","data":{"gaEvent":"Main Nav","gaAction":"Resources Nav"},"navItems":[{"content":"Help and support","data":{"gaEvent":"Main Nav","gaAction":"Help and support Nav"},"columnStart":1,"columnSpan":3,"icon":"helpAndSupport","navItems":[{"content":"Help and support","url":"https://help.shopify.com/en/","data":{"gaEvent":"Main Nav","gaAction":"Help and support"},"description":"Get 24/7 support"},{"content":"How-to guides","url":"/ng/blog/topics/guides","data":{"gaEvent":"Main Nav","gaAction":"How-to guides"},"description":"Read in-depth business guides"},{"content":"Business courses","url":"https://academy.shopify.com","data":{"gaEvent":"Main Nav","gaAction":"Business courses"},"description":"Learn from proven experts"},{"content":"Shopify blog","url":"/ng/blog","data":{"gaEvent":"Main Nav","gaAction":"Shopify blog"},"description":"Business strategy tips"}]},{"content":"Popular topics","data":{"gaEvent":"Main Nav","gaAction":"Popular topics Nav"},"columnStart":4,"columnSpan":6,"splitColumns":true,"icon":"popularTopics","navItems":[{"content":"What is Shopify?","url":"/ng/blog/what-is-shopify","data":{"gaEvent":"Main Nav","gaAction":"What is Shopify?"},"description":"How our commerce platform works"},{"content":"Founder stories","url":"/ng/blog/topics/founder-stories","data":{"gaEvent":"Main Nav","gaAction":"Founder Stories"},"description":"Learn from successful merchants"},{"content":"Branding","url":"/ng/blog/how-to-build-a-brand","data":{"gaEvent":"Main Nav","gaAction":"Branding"},"description":"Build your brand from scratch"},{"content":"Marketing","url":"/ng/blog/marketing-plan","data":{"gaEvent":"Main Nav","gaAction":"Marketing"},"description":"Build a marketing plan"},{"content":"Ecommerce SEO","url":"/ng/blog/ecommerce-seo-beginners-guide","data":{"gaEvent":"Main Nav","gaAction":"Ecommerce SEO"},"description":"Improve your search ranking"},{"content":"Social media strategy","url":"/ng/blog/topics/social-media-optimization","data":{"gaEvent":"Main Nav","gaAction":"Social media strategy"},"description":"Turn social into sales"},{"content":"Business growth","url":"/ng/blog/how-to-scale-small-business","data":{"gaEvent":"Main Nav","gaAction":"Business growth"},"description":"Scale your business"}]},{"content":"Essential tools","data":{"gaEvent":"Main Nav","gaAction":"Essential tools Nav"},"columnStart":10,"columnSpan":3,"aside":true,"icon":"essentialTools","navItems":[{"content":"Logo maker","url":"/tools/logo-maker","data":{"gaEvent":"Main Nav","gaAction":"Logo maker"}},{"content":"Stock photography","url":"https://www.shopify.com/stock-photos","data":{"gaEvent":"Main Nav","gaAction":"Stock photography"}},{"content":"Business plan template","url":"/ng/blog/business-plan-template","data":{"gaEvent":"Main Nav","gaAction":"Business plan template"}},{"content":"Link in bio tool","url":"https://www.linkpop.com/","data":{"gaEvent":"Main Nav","gaAction":"Link in bio tool"}},{"content":"QR code generator","url":"/ng/tools/qr-code-generator","data":{"gaEvent":"Main Nav","gaAction":"QR code generator"}}]}]},{"content":"Enterprise","url":"/ng/enterprise","data":{"gaEvent":"Main Nav","gaAction":"Upmarket Enterprise CTA"}},{"content":"What’s new","data":{"gaEvent":"Main Nav","gaAction":"What's New"},"navItems":[{"simple":true,"columnStart":1,"columnSpan":12,"navItems":[{"content":"Changelog","url":"https://changelog.shopify.com","data":{"gaEvent":"Main Nav","gaAction":"Changelog"},"description":"Your source for recent updates","columnSpan":3,"icon":"changelog"},{"content":"Newsroom","url":"https://shopify.com/news","data":{"gaEvent":"Main Nav","gaAction":"Newsroom"},"description":"All company news and press releases","columnSpan":3,"icon":"newsroom"}]}]}],"segments":null},"pages/shopify.com/($locale)/partners/blog/$article":{"article":{"__typename":"Article","authorV2":{"__typename":"ArticleAuthor","name":"Monique Elliot","avatarUrl":"https://www.gravatar.com/avatar/8db85ae510693d5a6552c80079e9702c?s=200\u0026d=404","isDisabledAuthor":false},"id":"gid://shopify/Article/555408752674","handle":"how-to-build-a-shopify-app","title":"How to Build a Shopify App: The Complete Guide","publishedAt":"2021-02-25T03:00:00Z","image":{"__typename":"Image","url":"https://cdn.shopify.com/s/files/1/0533/2089/articles/how-to-build-a-shopify-app.jpg?v=1727286002","altText":"How to build a Shopify app","width":1215,"height":511},"tags":["Featured","Hero","Shopify App Development"],"contentHtml":"\u003cimg src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app.jpg?v=1614173396\" alt=\"How to build a Shopify app\"\u003e\n\u003cp\u003eThere’s never been a better time to build a Shopify app. Millions of merchants across the globe build, scale, and manage their businesses on Shopify. Apps play a critical role in their success by empowering them to meet the unique challenges and needs of their business. In fact, apps are so important to the merchant journey that the average Shopify merchant has six apps installed on their store.\u003c/p\u003e\n\u003cp\u003eWith the diversity of our merchant base growing by the day, and a rapidly changing commerce landscape, there are always opportunities for developers to build creative solutions to diverse merchant problems. Each stage of a merchant’s entrepreneurial journey is a standalone billion-dollar industry—from sourcing products, marketing, order fulfillment, customer management, and more. The opportunities are there, but if you haven’t developed an app for the \u003ca href=\"https://apps.shopify.com?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify App Store\u003c/a\u003e before, where exactly do you start?\u003c/p\u003e\n\u003cp\u003eWe’ve got you covered. In this guide, we share the six stages of app development you need to know to build and launch a successful app on Shopify, with insights and advice from Shopify’s own developers and successful partner app developers who work with Shopify every day.\u003c/p\u003e\n\u003cp\u003eLet’s get started.\u003c/p\u003e\n\u003cdiv style=\"background: #f8f8f8; border: 1px solid #d6d7d7; padding: 0 20px 15px;\"\u003e\n\u003ch3 style=\"text-align: center;\"\u003eTable of contents\u003c/h3\u003e\n\u003chr\u003e\n\u003cbr\u003e\u003ca href=\"#ecosystem\"\u003e1. What to know about Shopify’s app ecosystem\u003c/a\u003e\u003cbr\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#apps-into-shopify\"\u003eHow apps fit into Shopify\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#types\"\u003eApp types\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#merchant-buyer-data\"\u003eMerchant and buyer data\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#app-store\"\u003eThe Shopify App Store\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#getting-started\"\u003eGetting started with your app\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ca href=\"#how-to-validate\"\u003e2. How to validate your app idea\u003c/a\u003e\u003cbr\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#step-validation\"\u003e4 steps to validate your app idea\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#right-reasons\"\u003eBuilding for the right reasons\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ca href=\"#consider-design\"\u003e3. What to consider as you design your Shopify app\u003c/a\u003e\u003cbr\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#polaris-getting-started\"\u003eGetting started with Polaris\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#accessibility-principles\"\u003eThe best app design embraces accessibility principles\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#merchant-in-mind\"\u003eApp design with the merchant in mind\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ca href=\"#submission-to-store\"\u003e4. Submission to the Shopify App Store\u003c/a\u003e\u003cbr\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#prepare-submit\"\u003ePreparing to submit your app\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#submitting\"\u003eSubmitting your app\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#review\"\u003eThe review process\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#revise\"\u003eRevisions and changes\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ca href=\"#monitoring\"\u003e5. Monitoring your app: keeping performance top of mind\u003c/a\u003e\u003cbr\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#app-health\"\u003eApp health within the Shopify ecosystem\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#changes-and-api-versioning\"\u003eBreaking changes and API versioning\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#performance-and-management\"\u003eApp performance management and monitoring\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#insights\"\u003eBusiness insights\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#metrics\"\u003eWhat metrics you should be tracking\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#designing-growth\"\u003eDesigning app growth experiments through data analysis\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#understand\"\u003eBuild and understand traction to scale app performance and installs\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/div\u003e\n\u003ch2 id=\"ecosystem\"\u003e1. What to know about Shopify’s app ecosystem\u003c/h2\u003e\n\u003cp\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-what-to-know-triangles.jpg?v=1614173343\" alt=\"How to build a Shopify app: Illustration of a person obscured by the waist up. They are holding colorful rectangles that overlay each other, piled past their head. The vague shape of a large arrow pointing up is created by the overlaid rectangles. This is a simplified, abstract representation of how Shopify's app ecosystem works together.\"\u003e\u003c/p\u003e\n\u003cp\u003eBefore you begin the process of planning and developing your app, it’s important to first understand how apps work with Shopify’s ecosystem.\u003c/p\u003e\n\u003cp\u003eIn this section, we’ll dive into how apps fit into Shopify, the infrastructure and tech stack available to developers, and the different types of apps you can build.\u003c/p\u003e\n\u003cdiv data-sanitized-data-partners-signup=\"app_developer\" data-partners-signup=\"app_developer\"\u003e\u003c/div\u003e\n\u003ch3 id=\"apps-into-shopify\"\u003eHow apps fit into Shopify\u003c/h3\u003e\n\u003cp\u003eShopify is designed to get merchants up and running out of the box. But each merchant is unique, so they use apps to solve their specific challenges.\u003c/p\u003e\n\u003cp\u003eIn the Shopify context, apps are web applications that extend the functionality of Shopify stores. They allow merchants to tailor their experiences on Shopify to exactly their needs. \u003c/p\u003e\n\u003cp\u003eApps integrate with Shopify by:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConnecting with \u003ca href=\"https://shopify.dev/docs?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify’s APIs\u003c/a\u003e, the most-used of which is the \u003ca href=\"https://shopify.dev/docs/admin-api?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eAdmin API\u003c/a\u003e, which allows apps to read and write data about products, customers, orders, inventory, fulfillment, and more\u003c/li\u003e\n\u003cli\u003eExtending new features inside existing parts of the Shopify Admin or POS\u003c/li\u003e\n\u003cli\u003eEnhancing the way stores display information to customers\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"types\"\u003eApp types\u003c/h3\u003e\n\u003cp\u003eThere are two different levels of accessibility your app can have: \u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ca href=\"https://shopify.dev/concepts/apps?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#public-apps\"\u003ePublic apps\u003c/a\u003e: Apps that are available to many merchants and can be listed in \u003ca href=\"https://apps.shopify.com?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ethe Shopify App Store\u003c/a\u003e (see below). They are created in your Partner Dashboard.\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://shopify.dev/concepts/apps?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#custom-apps\"\u003eCustom apps\u003c/a\u003e: Apps that are custom made for a specific merchant and cannot be listed in the Shopify App Store. They are created in your Partner Dashboard.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\"For the purposes of this guide, we’re going to focus on creating public apps: apps that are meant for one-to-many distribution via the Shopify App Store.\"\u003c/blockquote\u003e\n\u003cp\u003eFor the purposes of this guide, we’re going to focus on creating public apps: apps that are meant for one-to-many distribution via the Shopify App Store. For developers who are new to the Shopify ecosystem, public apps are the fastest way to get up and running, and to connect your solution with our existing merchant base.\u003c/p\u003e\n\u003cp\u003eIn addition to their type, apps can take two different forms: standalone apps and embedded apps. \u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://shopify.dev/concepts/apps?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#standalone-apps\"\u003eStandalone apps\u003c/a\u003e expose their own user interface, on their own web domain, and don’t have access to app extensions (see below). \u003ca href=\"https://shopify.dev/concepts/apps?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#embedded-apps\"\u003eEmbedded apps\u003c/a\u003e are hosted on your own infrastructure, but integrate more deeply with Shopify using \u003ca href=\"https://shopify.dev/tools/app-bridge?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify App Bridge\u003c/a\u003e, and display directly in the Shopify merchant admin or point-of-sale (POS) inside an \u003ccode class=\"marketing-code\"\u003eiframe\u003c/code\u003e. \u003c/p\u003e\n\u003cp\u003eEmbedded apps also enable you to add features to certain parts of Shopify’s user interface (UI) and online stores via \u003ca href=\"https://shopify.dev/docs/app-extensions?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eapp extensions\u003c/a\u003e. When you use an app extension, Shopify relays information to your app when the merchant interacts with Shopify, then surfaces your app back to the merchant via the extension. App extensions can be used to extend into:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe Shopify Admin\u003c/li\u003e\n\u003cli\u003eThe online store\u003c/li\u003e\n\u003cli\u003eShopify POS\u003c/li\u003e\n\u003cli\u003eShopify Flow\u003c/li\u003e\n\u003cli\u003eShopify Kit\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBecause of how closely they're integrated with Shopify and how much better of a merchant experience they deliver, we recommend building embedded apps, and this guide will walk you through that process. If you’re still brainstorming what use case your app will serve, read our chapter on \u003ca href=\"#how-to-validate\"\u003evalidating your app idea.\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\"We recommend building embedded apps because of how closely they integrate with Shopify and how much more they improve the merchant experience.\"\u003c/blockquote\u003e\n\u003ch3 id=\"merchant-buyer-data\"\u003eMerchant and buyer data\u003c/h3\u003e\n\u003cp\u003eWith millions of merchants using the Shopify platform to power their businesses, it’s important that every developer takes their trust and security—and that of their customers’—seriously. \u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.shopify.com/legal/api-terms?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eThe Shopify API License and Terms of Use\u003c/a\u003e is the final word on what is allowed and not allowed on Shopify’s platform. You can also visit the \u003ca href=\"https://shopify.dev/concepts/trust-and-security?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003etrust and security page\u003c/a\u003e in our docs for information on the following:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAuthentication and API keys\u003c/li\u003e\n\u003cli\u003eAPI rate limits\u003c/li\u003e\n\u003cli\u003eAPI versioning\u003c/li\u003e\n\u003cli\u003eData privacy and sharing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://shopify.dev/concepts/trust-and-security/gdpr?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eGlobal GDPR compliance\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://shopify.dev/tutorials/add-gdpr-webhooks-to-your-app?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#mandatory-webhooks\"\u003eMandatory webhooks\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThese rules are designed to make using the Shopify platform fair and transparent for everyone, while protecting the data of our merchants and their customers. You can learn more about \u003ca href=\"#app-secure\"\u003eapp security best practices\u003c/a\u003e below.\u003c/p\u003e\n\u003ch3 id=\"app-store\"\u003eThe Shopify App Store\u003c/h3\u003e\n\u003cp\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-screenshot-of-app-store-homepage.jpg?v=1614173290\" alt=\"How to build a Shopify app: Screenshot of the Shopify App Store home page with a search bar to search for specific apps, a section below that highlighting four staff picks, and a section at the bottom highlighting four trending apps.\"\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://apps.shopify.com?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eThe Shopify App Store\u003c/a\u003e is the easiest way for merchants to find apps that enable the functionality they need to build their stores. The Shopify App Store is organized by categories, and has a robust search feature and recommendation algorithm that helps merchants find the apps they need.\u003c/p\u003e\n\u003cp\u003eAll public apps are given a listing page in the Shopify App Store. \u003ca href=\"https://shopify.dev/concepts/app-store/visibility?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#listed-apps\"\u003eListed apps\u003c/a\u003e are publicly available to all merchants, while \u003ca href=\"https://shopify.dev/concepts/app-store/visibility?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#unlisted-apps\"\u003eunlisted apps\u003c/a\u003e have limited visibility. Depending on your use case, both listed and unlisted apps have their own benefits.\u003c/p\u003e\n\u003cp\u003eListed apps are visible in the Shopify App Store, allowing you to reach many merchants and highlight the features your app provides. With listed apps, you can take advantage of features like \u003ca href=\"https://shopify.dev/concepts/app-store/advertising?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eads in the app store\u003c/a\u003e.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded\"\u003e\n\u003cp\u003e\u003cstrong\u003eBenefits of listed apps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOnly way to be discoverable by merchants through search\u003c/li\u003e\n\u003cli\u003eIncreased organic reach\u003c/li\u003e\n\u003cli\u003eBrand awareness\u003c/li\u003e\n\u003cli\u003eIncreased trust from reviews\u003c/li\u003e\n\u003cli\u003eHelps sell features\u003c/li\u003e\n\u003cli\u003eLeverage Shopify App Store ads\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/div\u003e\n\u003cp\u003eUnlisted apps are public apps that are \u003cem\u003enot\u003c/em\u003e visible in the Shopify App Store (though they do still require an \u003ca href=\"https://shopify.dev/concepts/app-store/getting-your-app-approved/app-requirements?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eapp listing\u003c/a\u003e). This allows you to control who can install your app, or hide your app during down seasons (for seasonal apps) or periods of maintenance. However, we recommend publicly listing your app to take full advantage of the opportunities and features of the Shopify App Store.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded\"\u003e\n\u003cp\u003e\u003cstrong\u003eBenefits of unlisted apps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFocus on a targeted merchant base\u003c/li\u003e\n\u003cli\u003eMore control over growth\u003c/li\u003e\n\u003cli\u003eHelpful for seasonal apps\u003c/li\u003e\n\u003cli\u003eGood for maintenance periods\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/div\u003e\n\u003cp\u003eWhen starting out on Shopify, the Shopify App Store is likely going to be the main source of leads and installs of your app. Optimizing your app listing page, setting your app up for success, and leveraging tools like ads in the Shopify App Store are all ways of increasing installs and sales. We’ll dive deeper into the Shopify App Store and how to use it in the \u003ca href=\"#submission-to-store\"\u003eSubmitting your app to the Shopify App Store\u003c/a\u003e section of this guide.\u003c/p\u003e\n\u003ch3 id=\"getting-started\"\u003eGetting started with your app\u003c/h3\u003e\n\u003cp\u003eNow that you have an understanding of the basics of the Shopify platform, you’re ready to start validating your app idea to understand the business opportunity of building with Shopify.\u003c/p\u003e\n\u003ch4\u003eAdditional resources\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.com/partners/blog/the-essential-list-of-resources-for-shopify-app-development\" title=\"The essential list of resources for Shopify app development\"\u003eThe Essential List of Resources for Shopify App Development \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.com/partners/blog/online-store-app-extensions\" title=\"Online store app extensions\"\u003eExtend Into the Storefront With Online Store App Extensions \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.com/partners/blog/point-of-sale-apps\" title=\"Point of sale apps\"\u003eHow to Build Point of Sale Apps Using Shopify App Bridge \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.com/partners/blog/shopify-subscription-apis\" title=\"Shopify subscription APIs\"\u003eIntroducing Shopify Subscription APIs: Build Apps That Integrate with Shopify Checkout \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.com/partners/blog/gdpr-compliance\" title=\"What App Developers Need to Know About GDPR\"\u003eWhat App Developers Need to Know About GDPR \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.com/partners/blog/web-security-2018\" title=\"Web Security Fundamentals\"\u003eWeb Security Fundamentals: What Every Developer Should Know \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/tools/app-bridge?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify App Bridge\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/tutorials/authenticate-your-app-using-session-tokens?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eAuthenticate your app using session tokens (tutorial)\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/tutorials/embed-your-app-in-the-shopify-admin?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eEmbed your app in the Shopify admin (tutorial)\u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"how-to-validate\"\u003e2. How to validate your app idea\u003c/h2\u003e\n\u003cp\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-validate-your-app-idea.jpg?v=1614173213\" alt=\"How to build a Shopify app: Illustration of two women tilting a large light bulb to the right.\"\u003e\u003c/p\u003e\n\u003cp\u003eYou’ve got an idea for an app—and it’s \u003cem\u003egood\u003c/em\u003e. Now that you know how apps fit into Shopify’s ecosystem, you’re ready to dive into the design process. But wait, are you? Validating your idea is a step in the app-building process you definitely shouldn’t skip.\u003c/p\u003e\n\u003cp\u003eValidating your app idea gives you a much higher chance of success because you know you’re building something that your target user needs—and, in turn, building something that has a higher chance of getting more installs. \u003c/p\u003e\n\u003cp\u003eThe key with validation is to not get caught up in research, but to learn enough that will make your minimum viable product (MVP) something that you can tweak and build on.\u003c/p\u003e\n\u003cp\u003eIn this section, we’ll dive into how to develop an app that solves a real merchant problem, how to validate your idea through research, and the market shifts and trends you’ll need to consider.\u003c/p\u003e\n\u003cdiv data-sanitized-data-partners-signup=\"app_developer\" data-partners-signup=\"app_developer\"\u003e\u003c/div\u003e\n\u003ch3 id=\"step-validation\"\u003e4 steps to validate your app idea\u003c/h3\u003e\n\u003cp\u003eValidating your app idea is a process unique to your experience and the needs of your target market. It’s an investment in your future success. Developers Preetam Nath and Sankalp Jonna spent two months investigating whether their first app idea was valid before starting any design or development, a process their team replicated for their second app, \u003ca href=\"https://www.delightchat.io/\"\u003eDelightChat\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e“We didn't want to build something and realize nobody's going to use it. We've had that situation in the past,” Nath said. “Although we took a longer approach, we wanted to understand what’s happening in the ecosystem and what the various problems are.”\u003c/p\u003e\n\u003cp\u003eWhile there are many ways to prove your app idea is a good one, here are four key questions to answer that will help get you started:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eDoes this idea solve a real merchant problem?\u003c/li\u003e\n\u003cli\u003eHow is my target market trying to solve this problem right now?\u003c/li\u003e\n\u003cli\u003eAre merchants willing to pay for a solution to this problem?\u003c/li\u003e\n\u003cli\u003eCan we actually build the app?\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eLet’s explore each of these questions more in depth.\u003c/p\u003e\n\u003ch4\u003e1. Does your app idea solve a real merchant problem?\u003c/h4\u003e\n\u003cp\u003eFirst, you have to clearly define what a “real problem” means. Problem-solving is a full-time job for merchants, so it can be challenging to know where to begin. \u003c/p\u003e\n\u003cp\u003eA real problem is something that store owners are actively spending a lot of time, money, stress, and/or effort trying to solve. So how do you find out what merchants’ problems are? You go right to the source.\u003c/p\u003e\n\u003cp\u003eNath and Jonna posted questions in forums, such as the \u003ca href=\"https://www.reddit.com/r/shopify/\"\u003eShopify subreddit\u003c/a\u003e or the \u003ca href=\"https://community.shopify.com/c/Shopify-Community/ct-p/en\"\u003eShopify Community Forum\u003c/a\u003e, and were able to have conversations with merchants via direct messages to get clear answers to their questions. They also joined various \u003ca href=\"https://www.facebook.com/search/groups/?q=shopify\"\u003eFacebook groups\u003c/a\u003e to listen and learn more about merchant frustrations.\u003c/p\u003e\n\u003cp\u003eIf you’re working with merchants already, consider sending out a feedback form or questionnaire to find out more details about the problems they face. If you don’t work with merchants yet, or you’re ready to learn more, it’s time to move on to question number two.\u003c/p\u003e\n\u003cp\u003eOnce you know your app can solve a real merchant problem, the next step is to learn more about how (or if) merchants are already trying to fix the problem themselves, and anticipate any new challenges they could face within their industry. \u003c/p\u003e\n\u003ch5\u003eWhat’s happening in the industry and what are the trends?\u003c/h5\u003e\n\u003cp\u003eThere are unique challenges within every industry and at every stage of the merchant journey—and each stage is a potential billion-dollar industry you can tap into. Keep up to date on trends and disruptions within a certain industry, such as marketing, shipping, finance, customer support, or product sourcing to learn its past, present, and future concerns and ambitions.\u003c/p\u003e\n\u003cblockquote\u003e\"There are unique challenges within every industry and at every stage of the merchant journey—and each stage is a potential billion-dollar industry you can tap into.\"\u003c/blockquote\u003e\n\u003cp\u003eTaking the time to understand your target market, potential users, and industry trends will save you time and effort when it comes to refining your MVP. This comes down to the research you do before you begin to build. Learning the \u003ca href=\"https://www.shopify.com/partners/blog/app-development-business-trends\" title=\"app development business trends\"\u003eapp development business trends\u003c/a\u003e applicable to your app idea is an ongoing process, so taking advantage of your existing expertise or knowledge will help get you started.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded\"\u003e\n\u003cp\u003eOver the span of just three months in early 2020, \u003ca href=\"https://www.mckinsey.com/business-functions/strategy-and-corporate-finance/our-insights/five-fifty-the-quickening#\"\u003eecommerce growth accelerated 10 years\u003c/a\u003e into the future as COVID-19 changed how many merchants do business. \u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.shopify.com/partners/blog/app-challenge-tilo-mitra?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eRead how Shopify App Challenge winner Tilo Mitra built his first app\u003c/a\u003e in response to these new challenges.\u003c/p\u003e\n\u003c/div\u003e\n\u003cp\u003eLeveraging any prior experience with a current client, or within the industry or adjacent market you’re building an app for, will give you a competitive advantage, because you’re already familiar with your users’ pain points and industry trends.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded\"\u003e\n\u003cp\u003e\u003ca href=\"https://www.shopify.com/partners/blog/chatdesk-app-developer-case-study?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\" title=\"Chatdesk app developer case study\"\u003eRead our case study\u003c/a\u003e to learn how co-founders Aneto Okonkwo and Andrew Olaleye built customer support app \u003ca href=\"https://apps.shopify.com/chatdesk-email-social-media-customer-service?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eChatdesk\u003c/a\u003e based on experiences, goals, and lessons learned in their previous careers.\u003c/p\u003e\n\u003c/div\u003e\n\u003ch5\u003eConducting market research\u003c/h5\u003e\n\u003cp\u003eEven if you don’t already have experience in the industry you’re building for, you can conduct \u003ca href=\"https://www.shopify.com/partners/blog/market-research-app?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\" title=\"market research app\"\u003emarket research\u003c/a\u003e for your app. Figuring out what excites or frustrates your customers will help shape your product. \u003c/p\u003e\n\u003cp\u003eAt this point, you’ve already spoken to merchants and figured out how and where your app will add value. Gain more context about how your app will fit into the “big picture” by:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eReading industry publications and white papers, such as Shopify’s annual \u003ca href=\"https://www.shopify.com/plus/commerce-trends?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eFuture of Commerce report\u003c/a\u003e, and McKinsey’s quarterly \u003ca href=\"https://www.mckinsey.com/business-functions/strategy-and-corporate-finance/our-insights/five-fifty-the-quickening#\"\u003eFive Fifty report\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eFollowing industry leaders and experts on social media, such as Shopify leadership team: Director of Partnerships, \u003ca href=\"https://twitter.com/fatimayusf\"\u003eFatima Yusuf\u003c/a\u003e, President \u003ca href=\"https://twitter.com/harleyf\"\u003eHarley Finklestein\u003c/a\u003e, CTO \u003ca href=\"https://twitter.com/jmwind\"\u003eJean-Michel Lemieux\u003c/a\u003e, and CEO \u003ca href=\"https://twitter.com/tobi\"\u003eTobi Lutke\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eMonitoring news reports about commerce and business\u003c/li\u003e\n\u003cli\u003eSpeaking to experts in your industry\u003c/li\u003e\n\u003cli\u003eCreating a focus group\u003c/li\u003e\n\u003cli\u003eAnalyzing merchant feedback and concerns on social media and in \u003ca href=\"https://community.shopify.com/c/Shopify-Community/ct-p/en?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ecommunity forums\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eAnalyzing app reviews on the \u003ca href=\"https://apps.shopify.com?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify App Store\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eSubscribing to newsletters like \u003ca href=\"https://www.shopify.com/partners/blog/whats-new-2021?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eWhat’s New for Shopify Developers\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eAttending events like \u003ca href=\"https://events.shopify.com/partnertownhall?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify Partner Town Hall\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eSubscribing to relevant blogs, such as the \u003ca href=\"https://www.shopify.com/partners/blog?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify Partner Blog\u003c/a\u003e, the \u003ca href=\"https://shopify.engineering?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify Engineering Blog\u003c/a\u003e, and the \u003ca href=\"https://www.shopify.com/blog?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify Merchant Blog\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eAnd more\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-fatima-yusuf-tweet.jpg?v=1614173125\" alt=\"how to build a shopify app: Screenshot of a viral tweet by Shopify Director of Partnerships Fatima Yusuf. The tweet says: Shopify surpassed 5,000 apps in the App Store in 2020, but the growth has only just begun. Here are some hashtag commerce trends I expect we'll see more of in Shopify's app ecosystem in 2021. A yellow emoji hand points down to indicate there is a thread of tweets and to read on.\"\u003e\n\u003cfigcaption\u003eShopify Director of Partnerships Fatima Yusuf recently shared \u003ca href=\"https://twitter.com/fatimayusf/status/1346222106049183744\"\u003ea full thread\u003c/a\u003e of anticipated commerce trends in Shopify’s app ecosystem in 2021.\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003cp\u003eSome of the most successful apps in the Shopify App Store started out by proactively solving merchant problems. Look back on past wins with specific clients, platforms, or markets to see if there are any trends or patterns you can build on.\u003c/p\u003e\n\u003ch5\u003eWill this app solve a niche need, or a feature or functionality gap?\u003c/h5\u003e\n\u003cp\u003eAlthough there are multiple apps in each category of the Shopify App Store, remember that with millions of diverse merchants growing by the day, every merchant may need something a little different, depending on their size, their industry, their goals, and where they are in the world. This means there are niche needs in every category that you can find and create a solution for. The apps that work for one segment won't necessarily work for another.\u003c/p\u003e\n\u003cblockquote\u003e\"Adding significant value to a niche merchant problem is one key to standing out.\"\u003c/blockquote\u003e\n\u003cp\u003eThere are so many opportunities to address a merchant pain point that hasn’t yet been addressed. Adding significant value to a niche merchant problem is one key to standing out. For example, if you want to build an SMS app and feel like there's too much competition, you can further investigate the needs of a key region or specific merchant segment, and you home in on the solution that makes sense for them.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded\"\u003e\n\u003cp\u003eLearn how \u003ca href=\"https://apps.shopify.com/heyday?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eHeyday\u003c/a\u003e addressed a functionality gap and established a differentiated value proposition to successfully launch their \u003ca href=\"https://www.shopify.com/partners/blog/self-serve-app?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\" title=\"self-serve app\"\u003eself-serve app\u003c/a\u003e on the Shopify App Store in 2020.\u003c/p\u003e\n\u003c/div\u003e\n\u003cp\u003eThere’s no one correct way to differentiate your app’s value proposition. Nath says he got to know where gaps in his chosen vertical existed by analyzing the reviews of other apps to understand what challenges were going unaddressed. This work helped Nath understand what underserved areas their app could address, and what their users’ expectations would be. \u003c/p\u003e\n\u003cp\u003e“It took me a whole day, but it was worth it because now I knew clearly what merchants gave five-star reviews for, and also what they hated,” he said.\u003c/p\u003e\n\u003cp\u003eIt’s important to remember that you’re not bringing merchants any value if you just create a copycat app. Without adding a significant, unique, or new improvement, your app won’t stand out. It’s also an ethical issue and you could be in violation of copyright.\u003c/p\u003e\n\u003cblockquote\u003e\"It’s important to remember that you’re not bringing merchants any value if you just create a copycat app. Without adding a significant, unique, or new improvement, your app won’t stand out. It’s also an ethical issue and you could be in violation of copyright.\"\u003c/blockquote\u003e\n\u003ch4\u003e2. How is your target market trying to solve this problem right now?\u003c/h4\u003e\n\u003cp\u003eThe fastest and best way to understand how your target market is trying to solve this problem is by talking to real merchants. The good news is that it’s easier than you might think. \u003c/p\u003e\n\u003cp\u003eOnce Nath and Jonna had identified the right communities to join to learn from, and connect with merchants, they connected with them directly to learn how they were already trying to solve their problems.\u003c/p\u003e\n\u003cp\u003e“Just reach out to five of these people you see on Shopify Facebook groups, subreddits, or the forum and ask them, ‘Do you need this app? If not, why? If yes, what do you need it for?’ That will open up Pandora's box of qualitative information for you,” Nath says.\u003c/p\u003e\n\u003cp\u003eTaking the time to speak with your target users can teach you not only what their problems are, but also what they feel constitutes a solution. \u003c/p\u003e\n\u003cp\u003eFor example, the merchant could already be paying someone to take care of the problem for them, which can be expensive or may not fulfill their needs. Sometimes merchants won’t necessarily consider outsourced work a \u003ca href=\"https://www.shopify.com/partners/blog/build-apps-that-address-merchant-pain-points\" title=\"build apps that address merchant pain points\"\u003epain point\u003c/a\u003e, because it’s a task that is already being handled. This is important to consider because you may have to investigate deeper and ask specific, nuanced questions to truly understand both the problem and how your app aligns with the user’s needs.\u003c/p\u003e\n\u003cp\u003eFurthermore, if you’re considering building a custom app for one merchant to solve their unique needs, investigate whether it would be applicable to more merchants in the same industry or with similar traits. There’s a good chance you could better serve a broader market with similar challenges by publishing a public app in the \u003ca href=\"https://apps.shopify.com?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify App Store\u003c/a\u003e. \u003c/p\u003e\n\u003ch4\u003e3. Are merchants willing to pay for a solution to this problem? \u003c/h4\u003e\n\u003cp\u003eFiguring out whether you can make money with your app idea is the next piece of the puzzle.\u003c/p\u003e\n\u003cp\u003e“If you're looking to build a free app, just to get a feel of the ecosystem, that’s fine,” Nath says. “But if you want to build your app into a product or business that replaces your salary, you need to know if people are willing to pay for it.”\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eIf you want to build your app into a product or business that replaces your salary, you need to know if people are willing to pay for it.\u003c/p\u003e\n\u003cfooter\u003e\u003ccite\u003ePreetam Nath, Co-founder and CEO, DelightChat\u003c/cite\u003e\u003c/footer\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eThe best way to find out is to discover if people are already using existing solutions, and if so, how much they are paying for them. \u003c/p\u003e\n\u003cp\u003e“That price point fundamentally changes your business,” Nath says. “As we were building DelightChat, we were very cognizant that we wanted to be in this $100-$200 price range, where we are serving merchants whose businesses are at a certain level.”\u003c/p\u003e\n\u003cp\u003eMany apps offer a free version and/or a free trial so merchants can try out its various features to see if it’s the right fit for their needs.\u003c/p\u003e\n\u003cp\u003eAs discussed above, if your target audience isn’t already using an app or software to solve the problem you’re considering, they could also be hiring freelancers, paying someone part-time to manually work on the issue, or have even hired a full-time employee. How much are they paying for that solution? Would they be willing to pay instead for your app? This is where you’ll have to ask merchants in forums and direct conversations to learn more about their stop-gap solutions.\u003c/p\u003e\n\u003ch4\u003e4. Do you have the expertise and time to build this app?\u003c/h4\u003e\n\u003cp\u003eOnce you take all merchant insights, industry trends, and current opportunities into consideration, and have researched your target market, you need to decide if what you want to build—and by when—is possible. There are varying degrees of complexity behind an app and you want to be sure that your timeline for building is realistic.\u003c/p\u003e\n\u003cp\u003e“Some apps might take you a year to build if you're a one-person team, and some apps can be built in two weeks as a solo person,” Nath says. “You need to pick problems you can solve. Otherwise, you're just setting yourself up for failure. ”\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eSome apps might take you a year to build if you're a one-person team, and some apps can be built in two weeks as a solo person. You need to pick problems you can solve. Otherwise, you're just setting yourself up for failure.\u003c/p\u003e\n\u003cfooter\u003e\u003ccite\u003ePreetam Nath, Co-founder and CEO, DelightChat\u003c/cite\u003e\u003c/footer\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eWe’ll dive deeper into how to build a Shopify app in the Tools and Resources section of this guide.\u003c/p\u003e\n\u003cp\u003eIf you decide to build a Shopify app with a higher price point, merchants will expect a high-quality app with more features. That being said, remember that your app doesn’t need to have every single feature to be high value. Your users will give you feedback on your MVP, which you can use to improve your app over time and build the features they truly want.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded\"\u003e\n\u003cp\u003e\u003cstrong\u003eRecap: Four questions to answer when validating your app idea\u003c/strong\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eIs your app idea solving a real problem?\u003c/li\u003e\n\u003cli\u003eHow is your target market trying to solve this problem right now?\u003c/li\u003e\n\u003cli\u003eIs this a problem people are willing to pay to solve?\u003c/li\u003e\n\u003cli\u003eDo you have the necessary expertise and time to build the app?\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/div\u003e\n\u003ch3 id=\"right-reasons\"\u003eBuilding for the right reasons\u003c/h3\u003e\n\u003cp\u003eNow that you know how to validate an app idea that is driven by the business opportunity of building with Shopify, you’re ready to dive into the app design principles and key resources you can use to design your Shopify app.\u003c/p\u003e\n\u003ch4\u003eAdditional resources\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.com/partners/blog/build-apps-that-address-merchant-pain-points\" title=\"Build apps that address merchant pain points\"\u003eWhy You Should Build Apps That Address Merchant Pain Points \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.com/partners/blog/how-to-do-a-competitive-analysis\" title=\"How to do a competitive analysis\"\u003eHow to do a Competitive Analysis That Drives Results for Your Clients \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.com/partners/blog/shopify-app-challenge\" title=\"Shopify app challenge\"\u003eIntroducing the Shopify App Challenge: Commerce and COVID-19 \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.com/partners/blog/market-research-app\" title=\"Market research app\"\u003eResearch 101: How to Conduct Market Research for Your App \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eGuide: \u003ca href=\"https://www.shopify.com/partners/blog/shopify-app-store-downloads#research\" title=\"Shopify App Store downloads\"\u003eHow to Get More App Downloads in the Shopify App Store \u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"consider-design\"\u003e3. What to consider as you design your Shopify app\u003c/h2\u003e\n\u003cp\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-what-to-consider.jpg?v=1614176453\" alt=\"How to build a Shopify app: Illustration of two people. One is looking at a fold-out instruction card and the other has their arms stretched out holding a measuring tape. Both are looking at the instructions.\"\u003e\u003c/p\u003e\n\u003cp\u003eDesigning an app that integrates seamlessly into a merchant’s online store makes the user experience (UX) more familiar and appealing, and the user interface (UI) more intuitive. The design principles you incorporate into your app not only represent your user’s brand, but their values as well. The more user friendly, accessible, and beautiful your app is, the more likely you will have happier customers and higher retention rates.\u003c/p\u003e\n\u003cp\u003eIn this section, we’ll dive into what factors you need to consider as you design your Shopify app, and the tools that can make designing your app easier and faster.\u003c/p\u003e\n\u003cdiv data-sanitized-data-partners-signup=\"app_developer\" data-partners-signup=\"app_developer\"\u003e\u003c/div\u003e\n\u003ch3 id=\"polaris-getting-started\"\u003eGetting started with Polaris\u003c/h3\u003e\n\u003cfigure\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-polaris-v-6.jpg?v=1614176541\" alt=\"How to build a Shopify app: Polaris – Our design system helps us work together to build a great experience for all of Shopify's merchants.\"\u003e\n\u003cfigcaption\u003eThe recent launch of \u003ca href=\"https://polaris.shopify.com/whats-new/whats-new?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris v6.0.0\u003c/a\u003e offers a refreshed color palette, icons, as well as a reduction to our bundle size and additional accessibility features.\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"https://polaris.shopify.com?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris\u003c/a\u003e is Shopify’s open-source design system used internally and by third-party developers to design and build apps that seamlessly integrate into a merchant’s store. Polaris helps speed up the design process and adheres to web accessibility standards, while creating an app experience that is familiar to users. \u003c/p\u003e\n\u003cp\u003eWhile we recommend you build an app within the Shopify Admin, you can use Polaris regardless of whether your app is embedded within the Shopify Admin or operates outside of it.\u003c/p\u003e\n\u003cp\u003e“From a front-end developer’s perspective, one of the things I always hone in on is the usefulness of Polaris,” says Jennifer Gray, a front-end developer at Shopify. “If you want to move forward with an embedded app, which is what we encourage, Polaris gives that seamless user experience.”\u003c/p\u003e\n\u003cp\u003ePolaris components speed up your development process because you don’t have to build custom UI elements. Polaris components are pre-built, flexible, and easy to implement, so you can create a positive UX even if design isn’t your strong suit.\u003c/p\u003e\n\u003cp\u003ePolaris components are a collection of interface elements that can be used across your app. They include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eColors\u003c/li\u003e\n\u003cli\u003eTypography\u003c/li\u003e\n\u003cli\u003eIllustrations\u003c/li\u003e\n\u003cli\u003eIcons\u003c/li\u003e\n\u003cli\u003eInteraction states\u003c/li\u003e\n\u003cli\u003eSpacing\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-screenshot-of-polaris-page-component.jpg?v=1614176624\" alt=\"How to build a Shopify app: Screenshot of a Polaris Page component in the Admin demonstrating how a three-quarter-inch leather pet collar product would appear.\"\u003e\n\u003cfigcaption\u003eThe \u003ca href=\"https://polaris.shopify.com/components/structure/page?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#all-examples\"\u003ePolaris Page component\u003c/a\u003e is one of the most commonly used and is highly customizable.\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003cp\u003eLeveraging common conventions allows your app to look like it “belongs” in the Shopify Admin. Your users won’t need to learn to navigate a new UI if you make use of conventions they’re already familiar with. Polaris conventions also take accessibility into consideration.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded\"\u003e\n\u003cp\u003eAs you build your Shopify app, keep the \u003ca href=\"https://polaris.shopify.com/foundations/experience-values?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify experience values\u003c/a\u003e in mind:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eConsiderate:\u003c/strong\u003e Be thoughtful about how your users will access your app, including their device, language, geography, and accessibility needs. \u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEmpowering:\u003c/strong\u003e Shopify merchants have a wide range of skill levels, needs, goals, and experiences. Optimize your app for the most important tasks by removing unnecessary complexity, but give your users access to additional features if they need it.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eCrafted:\u003c/strong\u003e A beautiful app is only as good as its ability to help users solve a problem. Paying attention to thoughtful details or design considerations can make or break the user experience.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEfficient:\u003c/strong\u003e Keep your design and tasks simple and clear. Users should be able to complete actions quickly, accurately, and easily.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eTrustworthy:\u003c/strong\u003e Be transparent about what your app can and cannot do. A trustworthy app demonstrates to users that its developers are acting in their best interests. This is reflected holistically in the app’s UX and UI.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFamiliar: \u003c/strong\u003eWhen people feel comfortable using digital products, they can focus on the task at hand, rather than trying to navigate a complicated UI. Use familiar patterns so the UX is straightforward and intuitive. \u003c/p\u003e\n\u003c/div\u003e\n\u003cp\u003eWhile Polaris gives both designers and developers the tools they need to design a beautiful and functional Shopify app, that doesn’t mean you can’t apply some of your own creativity to the design process.\u003c/p\u003e\n\u003cp\u003eThe unique needs of your users should always be your main priority when designing your Shopify app—you are free to add custom components that should also feel right at home in the Shopify Admin.\u003c/p\u003e\n\u003cp\u003eShopify Partner \u003ca href=\"https://www.shopify.com/partners/blog/shopify-commerce-awards-past-winners?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\" title=\"Shopify Commerce Awards past winners – Pledgeling\"\u003ePledgeling\u003c/a\u003e won a 2017 Shopify Commerce Award for \u003ca href=\"https://www.shopify.com/partners/blog/shopify-commerce-awards-2017-winners?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#polaris\" title=\"Shopify Commerce Awards Best App Design Using Polaris\"\u003eBest App Design Using Polaris\u003c/a\u003e, where they were recognized by the judges for their Polaris design. They also added custom components that their users needed, while keeping the UX and UI consistent with Polaris principles.\u003c/p\u003e\n\u003cfigure\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-pledgelings-give-and-grow-donation-app.jpg?v=1614176857\" alt=\"How to build a Shopify app: Screenshot of Give \u0026amp; Grow app dashboard includes introduction text, navigation controls, and a 'Get started' button.\"\u003e\n\u003cfigcaption\u003ePledgeling’s \u003ca href=\"https://apps.shopify.com/give-grow?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eGive \u0026amp; Grow Donations\u003c/a\u003e app won the 2017 Shopify Commerce Award for \u003ca href=\"https://www.shopify.com/partners/blog/shopify-commerce-awards-2017-winners?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#polaris\" title=\"Shopify Commerce Awards Best App Design Using Polaris\"\u003eBest App Design Using Polaris\u003c/a\u003e.\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003cp\u003ePolaris ensures your app will fit seamlessly into a merchant’s work. Take some time to review the \u003ca href=\"https://polaris.shopify.com/design/polaris-is-changing?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris documentation\u003c/a\u003e, which covers everything from design guidelines, accessibility considerations, internationalization, and information architecture.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eIf app developers don’t have a designer on their team, Polaris is exactly the tool they should be using.\u003c/p\u003e\n\u003cfooter\u003e\u003ccite\u003eJennifer Gray, Shopify Front-end Developer\u003c/cite\u003e\u003c/footer\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e“If app developers don’t have a designer on their team, Polaris is exactly the tool they should be using,” Gray says.\u003c/p\u003e\n\u003cp\u003ePolaris is an evolving design framework. The recent launch of \u003ca href=\"https://polaris.shopify.com/whats-new/whats-new?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris v6.0.0\u003c/a\u003e offers refreshed visual styles with a new color system, rebuilt, high-quality components, a reduction to bundle size, and additional accessibility features among many other feature updates.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded\"\u003e\n\u003cp\u003eExplore some examples of standalone apps \u003ca href=\"https://github.com/Shopify/polaris-react/tree/master/examples?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eusing Polaris as the UI component library on GitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n\u003ch3 id=\"accessibility-principles\"\u003eThe best app design embraces accessibility principles\u003c/h3\u003e\n\u003cp\u003eInclusive, accessible, and usable design are three principles that intersect when it comes to creating a digital product that everyone can use with ease. “Everyone” is a lot of people, with varying experiences and abilities, but it is possible to build a Shopify app that is inclusive, accessible, and usable to all.\u003c/p\u003e\n\u003cp\u003eApps with the best UX and UI are inclusive and accessible by design. \u003ca href=\"https://www.shopify.com/partners/blog/inclusive-design?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\" title=\"inclusive design\"\u003eInclusive design\u003c/a\u003e considers the needs of all users, and benefits all users, regardless of their abilities.\u003c/p\u003e\n\u003cp\u003eThree key factors that contribute to a high-quality, accessible UX are:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eA UX/UI design that is both functional and beautiful\u003c/li\u003e\n\u003cli\u003eConsistent and helpful \u003ca href=\"https://polaris.shopify.com/content/product-content?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#navigation\"\u003ecopy\u003c/a\u003e that thoughtfully uses clear, plain language\u003c/li\u003e\n\u003cli\u003eActively incorporates principles of \u003ca href=\"http://universaldesign.ie/What-is-Universal-Design/\"\u003euniversal design\u003c/a\u003e and inclusivity\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eWe’ve already covered how to ensure your app is functional and aligns to the look and feel of your merchant’s work by following the Polaris design principles. Let’s explore the next two topics more in depth.\u003c/p\u003e\n\u003ch4\u003eYour app copy: write for everyone\u003c/h4\u003e\n\u003cp\u003eDesigning a visually beautiful and functional app is a great start. It’s equally important that all the language you use to describe how to use your app is easy to understand. This means using straightforward language free from jargon or phrases that could confuse someone who is unfamiliar with the topic or the language itself. \u003c/p\u003e\n\u003cp\u003eAs of January 2020, English was the most popular language online, representing about \u003ca href=\"https://www.statista.com/statistics/262946/share-of-the-most-common-languages-on-the-internet/\"\u003e26 percent\u003c/a\u003e of total internet users worldwide, followed by Chinese at 19 percent.\u003c/p\u003e\n\u003cfigure\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-graph-of-top-10-languages-used-on-internet.jpg?v=1614176938\" alt=\"How to build a Shopify app: Horizontal bar chart. English, 25.9%. Chinese, 19.4%. Spanish, 7.9%. Arabic, 5.2%. Indonesian/Malaysian, 4.3%. Portuguese, 3.7%. French, 3.3%. Japanese, 2.6%. Russian, 2.5%. German, 2%. Rest of languages, 23.1%.\"\u003e\n\u003cfigcaption\u003eThe top 10 languages used on the internet account for 77 percent of global internet users as of January 2020, according to \u003ca href=\"https://www.statista.com/statistics/262946/share-of-the-most-common-languages-on-the-internet/\"\u003erecent research by Statista\u003c/a\u003e.\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003cp\u003eConsider both your target user and your future potential growth users—it’s a good idea to make language a top priority within your app design. Learning \u003ca href=\"https://www.shopify.com/partners/blog/multilingual-shopify-apps?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\" title=\"How to build multilingual Shopify apps\"\u003ehow to build multilingual Shopify apps\u003c/a\u003e will give you a competitive advantage.\u003c/p\u003e\n\u003cp\u003eThe Polaris content guidelines considers plain language to be at a United States Grade 7 reading level. There are many tools you can use to check if your content is grammatically correct and easily understandable. Many of these tools also can tell you the readability level.\u003c/p\u003e\n\u003cp\u003eHere are three content tools you can use to get started:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ca href=\"http://www.hemingwayapp.com/\"\u003eHemingway App\u003c/a\u003e (free)\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://www.grammarly.com/\"\u003eGrammarly\u003c/a\u003e (free and paid subscriptions)\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://readable.com/\"\u003eReadable\u003c/a\u003e (paid, tiered, annual subscriptions)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWe’ll further explore the nuances of how to write for a global audience in the Internationalization section below.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded\"\u003e\n\u003cp\u003eHelpful \u003ca href=\"https://polaris.shopify.com/content/product-content?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#navigation\"\u003etips\u003c/a\u003e from the Polaris content guidelines:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrite short sentences (ideally less than 15-20 words).\u003c/li\u003e\n\u003cli\u003eMake your content scannable using headings and bullets.\u003c/li\u003e\n\u003cli\u003eAlways choose a short, simple word over a long and complicated one.\u003c/li\u003e\n\u003cli\u003eThink about translations. Avoid idioms and phrases with indirect or ironic meanings.\u003c/li\u003e\n\u003cli\u003eAvoid jargon. Only use industry-standard terms when you have reason to believe it will improve understanding. Spend time researching what words people actually use, instead of defaulting to what corporations call things.\u003c/li\u003e\n\u003cli\u003eEdit out unnecessary or repeated words.\u003c/li\u003e\n\u003cli\u003eWrite for small screens first. These constraints can help you focus on the most important message.\u003c/li\u003e\n\u003cli\u003eRead your content out loud. If you get tripped up or it doesn’t sound like something a human would say, your content needs to be revised.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/div\u003e\n\u003cp\u003eNow that you have a solid grasp on how to write content within your app, let’s break down what it means to design your app to be inclusive and accessible.\u003c/p\u003e\n\u003ch4\u003eDesigning for accessibility, usability, and inclusion\u003c/h4\u003e\n\u003cp\u003eAs your app scales and grows, it’s important that it remains inclusive, accessible, and usable to Shopify’s millions of merchants. Each of those users have unique needs, so learning now how to support those needs will make scaling your app easier in the future. To that end, here are three design considerations to keep in mind:\u003c/p\u003e\n\u003ch5\u003e1. \u003ca href=\"https://polaris.shopify.com/foundations/accessibility?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003e\u003cstrong\u003eAccessibility\u003c/strong\u003e\u003c/a\u003e\n\u003c/h5\u003e\n\u003cp\u003e\u003ca href=\"https://polaris.shopify.com/components/get-started?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris components\u003c/a\u003e are designed to meet \u003ca href=\"https://polaris.shopify.com/foundations/accessibility?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eaccessibility\u003c/a\u003e standards and maintain a consistent experience while your app is in use. If you haven’t already done so, it’s time to consider how you define your “average” user, and whether you have designed your app in a way that considers users who have disabilities. From \u003ca href=\"https://www.shopify.com/partners/blog/keyboard-accessibility?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\" title=\"keyboard accessibility\"\u003ekeyboard accessibility\u003c/a\u003e to visual design elements, there’s a lot to consider.\u003c/p\u003e\n\u003cp\u003eThe World Health Organization reports that, as of December 2020, more than \u003ca href=\"https://www.who.int/news-room/fact-sheets/detail/disability-and-health\"\u003e1 billion people worldwide\u003c/a\u003e—about 15 percent of the global population—live with some form of disability, and the numbers are increasing. Getting familiar with \u003ca href=\"https://www.w3.org/WAI/standards-guidelines/wcag/\"\u003eWeb Content Accessibility Guidelines\u003c/a\u003e is a great starting point to learn more about accessibility standards and techniques so you can apply these principles as you build your app.\u003c/p\u003e\n\u003cp\u003e“\u003ca href=\"https://thenextweb.com/podium/2019/09/27/the-huge-cost-of-ignoring-accessibility-when-designing-your-website/\"\u003eDo not ignore accessibility\u003c/a\u003e when designing and developing your app,” says Shopify Platform Accessibility Specialist Scott Vinkle. \u003c/p\u003e\n\u003cp\u003e“Accessibility helps to ensure an \u003ca href=\"https://www.w3.org/WAI/perspective-videos/\"\u003eassistive technology\u003c/a\u003e-friendly environment for people with disabilities,” Vinkle adds. “It also helps the aging population to use your site or app, \u003ca href=\"https://www.deque.com/blog/seo-and-accessibility-real-talk/\"\u003eincreases SEO\u003c/a\u003e, and decreases \u003ca href=\"https://blog.usablenet.com/a-record-breaking-year-for-ada-digital-accessibility-lawsuits\"\u003eaccessibility-related lawsuits\u003c/a\u003e. Provide people with disabilities an equal opportunity to unlock the power of commerce.”\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eProvide people with disabilities an equal opportunity to unlock the power of commerce.\u003c/p\u003e\n\u003cfooter\u003e\u003ccite\u003eScott Vinkle, Shopify Platform Accessibility Specialist\u003c/cite\u003e\u003c/footer\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eKeep these core principles of accessibility in mind when creating your app:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCan the user \u003ca href=\"https://www.w3.org/WAI/fundamentals/accessibility-principles/#perceivable\"\u003eperceive\u003c/a\u003e the content? People must be able to observe and identify content using one of the senses available to them.\u003c/li\u003e\n\u003cli\u003eCan the user \u003ca href=\"https://www.w3.org/WAI/fundamentals/accessibility-principles/#operable\"\u003eoperate\u003c/a\u003e the user interface? People must be able to complete tasks using the input device that works best for them, such as a mouse or touchpad, keyboard, touchscreen, screen reader, voice dictation software, etc.\u003c/li\u003e\n\u003cli\u003eCan the user \u003ca href=\"https://www.w3.org/WAI/fundamentals/accessibility-principles/#understandable\"\u003eunderstand\u003c/a\u003e the content? Create content and user interfaces that people can comprehend. Use simple language, supplied in the correct language, in a consistent user experience.\u003c/li\u003e\n\u003cli\u003eIs the content \u003ca href=\"https://www.w3.org/WAI/fundamentals/accessibility-principles/#robust\"\u003erobust\u003c/a\u003e? Provide support for various devices and assistive technologies. Use standards based, semantic HTML and ARIA \u003ca href=\"https://www.w3.org/TR/using-aria/#firstrule\"\u003ewhere required\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVinkle says it’s important to apply these principles and \u003ca href=\"https://scottvinkle.me/blogs/work/testing-with-screen-readers\"\u003etest with assistive technology\u003c/a\u003e. \u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eWiden the usability of your app to include even more people. This has the potential to increase positive reviews and revenue generated by your app.\u003c/p\u003e\n\u003cfooter\u003e\u003ccite\u003eScott Vinkle, Shopify Platform Accessibility Specialist\u003c/cite\u003e\u003c/footer\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e“Widen the usability of your app to include even more people” he says. “This has the potential to increase positive reviews and revenue generated by your app.”\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded\"\u003e\n\u003cp\u003eHere are five assistive technology testing tools and insightful resources to help improve overall accessibility and app quality:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ca href=\"https://www.paciellogroup.com/resources/contrastanalyser/\"\u003eColor Contrast Analyzer\u003c/a\u003e: Check the legibility and contrast of your app design elements using this app for Mac and Windows\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://colororacle.org/\"\u003eColor Oracle\u003c/a\u003e: Simulate color blindness using this app available for Mac, Windows, and Linux\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://github.com/getflourish/Sketch-Color-Contrast-Analyser\"\u003eSketch Color Contrast Analyzer\u003c/a\u003e: Ensure your designs meet color contrast recommendations from within Sketch\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://www.microsoft.com/en-us/design/inclusive\"\u003eInclusive Design at Microsoft\u003c/a\u003e: Learn and follow accessibility best practices with Microsoft’s inclusive design principles\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://accessibilityinsights.io/\"\u003eAccessibility Insights\u003c/a\u003e: Solve accessibility issues before they reach merchants using this automated accessibility testing tool.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/div\u003e\n\u003ch5\u003e2. \u003ca href=\"https://polaris.shopify.com/foundations/internationalization?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eInternationalization\u003c/a\u003e\n\u003c/h5\u003e\n\u003cp\u003eBuilding an interface that works no matter where in the world your users are located not only increases your global market reach, it also creates a better overall UX. \u003c/p\u003e\n\u003cp\u003eBe sure to plan for:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCultural differences: From your icons to your images to your content, localizing your app means not only translating to the local language, but also adapting to regional differences and being mindful of potentially confusing or offensive content\u003c/li\u003e\n\u003cli\u003eText expansion: Translating your app text can expand it and take up more space, so your interface needs built-in flexibility to accommodate language-specific formatting, as it can vary greatly between languages\u003c/li\u003e\n\u003cli\u003eChanges in word order: It’s safe to assume the word order of every sentence in your UI will change when translated, so it’s best to avoid using UI components to build sentences and only use \u003ca href=\"https://ux.shopify.com/how-to-concatenate-localized-strings-mindfully-bcc7b6d4961a?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003econcatenated strings mindfully\u003c/a\u003e, or not at all\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eGet familiar with the \u003ca href=\"https://polaris.shopify.com/foundations/internationalization?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris foundations of internationalization\u003c/a\u003e so that you can create an exceptional UX no matter where your users are located.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded\"\u003e\n\u003cp\u003eLearn more about the principles that will help you build a truly internationalized app in our in-depth blog post: \u003ca href=\"https://www.shopify.com/partners/blog/internationalization?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\" title=\"Internationalization\"\u003eInternationalization: Practical Tips to Build for a Global Audience\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n\u003ch5\u003e3. \u003ca href=\"https://polaris.shopify.com/foundations/information-architecture?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eInformation architecture (IA)\u003c/a\u003e\n\u003c/h5\u003e\n\u003cp\u003eYour \u003ca href=\"https://polaris.shopify.com/foundations/information-architecture?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003einformation architecture\u003c/a\u003e (IA) is the way you organize, structure, and label all your content, with the goal of helping your users find the information they need and to complete tasks efficiently. Effective IA:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSimplifies complexity\u003c/li\u003e\n\u003cli\u003eSupports scalability\u003c/li\u003e\n\u003cli\u003eCreates familiarity\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eGetting familiar with the \u003ca href=\"https://polaris.shopify.com/foundations/information-architecture?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris IA principles\u003c/a\u003e will help guide you through the process of making good IA decisions, no matter what project you’re working on. Keeping your app organized and straightforward prevents user confusion, especially if your app is more complex.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded\"\u003e\n\u003cp\u003eFor more information about IA and how to get started, check out our recent blog post: \u003ca href=\"https://www.shopify.com/partners/blog/information-architecture?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\" title=\"Information architecture\"\u003eAn Introduction to Information Architecture\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n\u003ch3 id=\"merchant-in-mind\"\u003eApp design with the merchant in mind\u003c/h3\u003e\n\u003cp\u003eA clean app design with accessible UX and clear language is crucial for building an app merchants love. Your users interact with the web, apps, and dashboards on a daily basis, so they’ll have high expectations for how your app will integrate and interact with their online store.\u003c/p\u003e\n\u003cp\u003eNow that you have a grasp of how app design principles influence your users’ experience, you’re ready to start building your app.\u003c/p\u003e\n\u003ch4\u003eAdditional resources:\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.com/partners/blog/building-apps\" title=\"building apps\"\u003eBuilding Apps: 3 Things we Learned in Making Design Consistent and Scalable \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.com/partners/blog/prototyping\" title=\"prototyping\"\u003e10 Myths About Prototyping, Busted \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.com/partners/blog/improve-your-design-process-with-these-4-deliverables\" title=\"Improve your design process with these 4 deliverables\"\u003eImprove Your Design Process With These 4 Deliverables \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.ca/partners/blog/rapid-prototyping\" title=\"Rapid prototyping\"\u003eEverything You Always Wanted to Know About Rapid Prototyping \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.com/partners/blog/shopify-commerce-awards-2017-winners#polaris\" title=\"Shopify Commerce Awards 2017 winners\"\u003eAnnouncing the Winners of the 2017 Shopify Commerce Awards (Polaris) \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.com/partners/blog/keyboard-accessibility\" title=\"Shopify Commerce Awards 2017 winners\"\u003e5 Steps to Design Apps with Keyboard Accessibility in Mind \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.com/partners/blog/information-architecture\" title=\"Information architecture\"\u003eAn Introduction to Information Architecture \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDigital property: \u003ca href=\"https://polaris.shopify.com?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://polaris.shopify.com/foundations/designing-apps?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eDesigning apps for Shopify\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://polaris.shopify.com/components/get-started?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eComponent library docs\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://polaris.shopify.com/resources/resources?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris Resources\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://polaris.shopify.com/foundations/accessibility?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris accessibility documentation\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003ePolaris GitHub: \u003ca href=\"https://github.com/Shopify/polaris-react?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#licenses\"\u003eLicenses\u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded\"\u003e\n\u003cp\u003eVisit our \u003ca href=\"https://shopify.dev/docs/apps/getting-started/create\"\u003edeveloper documentation at shopify.dev\u003c/a\u003e to learn how to use our developer tools to create your Shopify app.\u003c/p\u003e\n\u003c/div\u003e\n\u003ch2 id=\"submission-to-store\"\u003e4. Submission to the Shopify App Store\u003c/h2\u003e\n\u003cp\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-submission-to-the-app-store.jpg?v=1614184034\" alt=\"How to build a Shopify app: submission to the Shopify App Store. Illustration depicts an envelope with a long checklist of items cascading out of it. Items on the checklist are represented by abstract lines and circles, with arrows pointing towards different areas on the checklist.\"\u003e\u003c/p\u003e\n\u003cp\u003eSubmitting your app to the \u003ca href=\"https://apps.shopify.com/?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify App Store\u003c/a\u003e is the next step to getting it live and in the hands of the merchants who will benefit from it most. \u003c/p\u003e\n\u003cp\u003eBefore it’s published, your app needs to be reviewed by the Shopify App Review team. The app submission and review process usually takes our partners a few weeks to complete, and includes the follow steps:\u003cbr\u003e\u003cbr\u003e1. \u003ca href=\"https://shopify.dev/apps/store/requirements\"\u003eMeeting Shopify’s technical, security, and UX requirements\u003cbr\u003e\u003c/a\u003e2. \u003ca href=\"https://www.shopify.ca/partners/blog/shopify-app-store-downloads?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#optimize\"\u003eWriting an effective app listing\u003cbr\u003e\u003c/a\u003e3. \u003ca href=\"https://shopify.dev/apps/store/review/testing\"\u003eTesting your app for performance and bugs\u003cbr\u003e\u003c/a\u003e4. \u003ca href=\"https://shopify.dev/apps/store/review\"\u003eApplying any revisions required by our review team\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"prepare-submit\"\u003e\u003cstrong\u003ePreparing to submit your app\u003c/strong\u003e\u003c/h3\u003e\n\u003cp\u003eThe Shopify App Review Team’s goal is to get you through the review process as quickly as possible! Knowing what to expect beforehand, and understanding what information you should have ready to go, will help you move more quickly through the review stages.\u003c/p\u003e\n\u003cp\u003eFollow these three steps before you submit your app for review:\u003c/p\u003e\n\u003ch3\u003e1. Meet Shopify’s app requirements\u003c/h3\u003e\n\u003cp\u003eThere are \u003ca href=\"https://shopify.dev/concepts/app-store/getting-your-app-approved/app-requirements?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003etechnical, security, and UX requirements\u003c/a\u003e that all public apps must meet before they can be approved for the app store. Follow these requirements as you build and prepare to submit your app to ensure your app is published without hiccups.\u003c/p\u003e\n\u003cp\u003eIt’s important to note that unlisted apps need to meet the same requirements as listed apps because they are both public app types. This is important for maintaining a quality standard for merchants, but also because these public apps can change visibility at any time.\u003c/p\u003e\n\u003cp\u003eIn addition, \u003ca href=\"https://shopify.dev/apps/store/requirements#specific-requirements-for-certain-app-configurations\"\u003ecertain app configurations have additional requirements\u003c/a\u003e. These app configurations include but are not limited to:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOnline store apps\u003c/li\u003e\n\u003cli\u003eEmbedded apps\u003c/li\u003e\n\u003cli\u003eProduct sourcing apps\u003c/li\u003e\n\u003cli\u003eSales channels\u003c/li\u003e\n\u003cli\u003ePurchase Option apps\u003c/li\u003e\n\u003cli\u003eCheckout UI extension apps\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2. Write your app listing\u003c/h3\u003e\n\u003cdiv class=\"grid partners-signup\"\u003e\n\u003cdiv class=\"grid__item partners-signup__container\"\u003e\n\u003ch3 class=\"heading--4 partners-signup__heading\"\u003e[September 2022] New app listing guidelines\u003c/h3\u003e\n\u003cp class=\"partners-signup__content\"\u003eAs of September 2022, we've updated the requirements for app listings in the Shopify App Store. Some of the information in this section may be out of date. To make sure your app listing is optimized for merchant installs, please visit our documentation for the newest guidelines.\u003c/p\u003e\n\u003ca data-sanitized-target=\"_blank\" class=\"marketing-button partners-signup__cta\" href=\"https://shopify.dev/apps/store/requirements?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eVisit docs\u003c/a\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cp\u003eAll public apps—listed or unlisted—require a complete app listing for submission. Your app listing page will serve as the home of your app in the Shopify App Store. This information is your most powerful tool for convincing users that your app is the best solution for them. Because this is such a key surface, you should spend time understanding \u003ca href=\"https://shopify.dev/concepts/app-store/getting-your-app-approved/app-requirements?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#writing-a-shopify-app-store-listing\"\u003ethe requirements of your app listing\u003c/a\u003e, and \u003ca href=\"https://www.shopify.ca/partners/blog/shopify-app-store-downloads?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#optimize\"\u003ehow to best optimize it\u003c/a\u003e. \u003c/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/shopify-app-listing-screenshot_600x600.png?v=1658350648\" alt=\"Shopify Inbox app listing\"\u003e\u003c/div\u003e\n\u003cp\u003eWhile some of these elements are optional, the more information you provide potential users, the better. \u003c/p\u003e\n\u003cp\u003eYour app listing is a critical part of gaining new installations and users. For more in-depth guidance on creating the best listing page you can, \u003ca href=\"https://www.shopify.ca/partners/blog/shopify-app-store-downloads?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003evisit our guide on How to Get More App Downloads in the Shopify App Store\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e3. Test your app\u003c/h3\u003e\n\u003cp\u003eOnce you’re confident your app meets the app and listing requirements above, we encourage you to ensure your app is well tested. Shopify is a complex platform, and no two merchants have the same needs or goals. Thorough testing helps catch as many errors and bugs as possible, so that your app doesn’t break when these varied merchants install it.\u003c/p\u003e\n\u003cp\u003eWhen testing your app, you want to ensure it functions correctly for your users, especially for merchants who aren’t tech-savvy. \u003c/p\u003e\n\u003cp\u003eMore details on testing your app can be found \u003ca href=\"https://shopify.dev/concepts/app-store/getting-your-app-approved/testing-your-app-before-submitting?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ein our documentation\u003c/a\u003e. You can also read our in-depth guide on \u003ca href=\"https://www.shopify.ca/partners/blog/user-test-app?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003euser testing your app\u003c/a\u003e on our blog.\u003c/p\u003e\n\u003ch3 id=\"submitting\"\u003e4. Submit your app\u003c/h3\u003e\n\u003cp\u003eOnce your app and listing are ready, and you’ve thoroughly tested and prepared, \u003ca href=\"https://shopify.dev/concepts/app-store/getting-your-app-approved/app-submission?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003efollow the instructions in our documentation\u003c/a\u003e to submit your app via the Partner Dashboard. The Shopify App Review Team will check to make sure that your app is a complete product and is ready to be used by a merchant the moment it’s approved for the Shopify App Store.\u003c/p\u003e\n\u003ch3 id=\"review\"\u003eThe review process\u003c/h3\u003e\n\u003cp\u003eOn average, your app will be reviewed within 7 business days of being submitted. You’ll be kept informed about progress and feedback along the way.\u003c/p\u003e\n\u003cp\u003eYou can learn more about what to expect during the approval process \u003ca href=\"https://shopify.dev/concepts/app-store/getting-your-app-approved/review-process?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ein our developer documentation\u003c/a\u003e.\u003c/p\u003e\n\u003ch3 id=\"revise\"\u003eRevisions and changes\u003c/h3\u003e\n\u003cp\u003eThe time to approval can vary from days to weeks or even months, depending on how long it takes you to resolve the issues found. It’s very common that after review, you’ll be asked to make some changes or revisions to your app. You’ll be informed via email of what needs to be updated. \u003c/p\u003e\n\u003cp\u003eIf the necessary changes are substantial enough, your app will be rejected. Once you fix the outstanding issues, you can resubmit. However, if the changes are relatively minor, you’ll be put into contact with the review team via Zendesk to chat about your app and make the necessary updates.\u003c/p\u003e\n\u003cp\u003eOnce you’ve fixed everything that needs to be fixed, and the review team is confident that your app meets our standards, you’ll be approved, and your app will go live in the Shopify App Store. It’s time to celebrate! You’ve earned it.\u003c/p\u003e\n\u003ch4\u003eAdditional resources:\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/concepts/app-store/getting-your-app-approved/app-requirements?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eRequirements for public apps on Shopify\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/apps/store/review/testing\"\u003eTesting your app before submitting\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/concepts/app-store/getting-your-app-approved/app-submission?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eSubmitting your app\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/concepts/app-store/getting-your-app-approved/review-process?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eThe review process\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/tutorials/authenticate-with-oauth?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eAuthenticate with OAuth\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/tutorials/bill-for-your-app-using-graphql-admin-api?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eBill for your app with the GraphQL Admin API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.ca/partners/blog/insights-shopify-app-review?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003e7 Insights From the Shopify App Review Team to Set Your App Up for Success\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.ca/partners/blog/user-test-app?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eUser Testing Your Shopify App: Public App Use Cases You Should Test\u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"monitoring\"\u003e5. Monitoring your app: keeping performance top of mind\u003c/h2\u003e\n\u003cp\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-monitoring-your-app.jpg?v=1614184968\" alt=\"How to build a Shopify app: Monitoring your app: keeping performance top of mind. Illustration of a person looking through a telescope at a digital map of moving arrows.\"\u003e\u003c/p\u003e\n\u003cp\u003eBefore you launch your app, there are a few things you need to know about how to keep it healthy, secure, and high-performing beyond launch.\u003c/p\u003e\n\u003cp\u003eThis section covers what it means to have a “healthy” Shopify app, and what it takes to keep it successful, so it continues to be helpful to merchants over both the short and long term.\u003c/p\u003e\n\u003ch3 id=\"app-health\"\u003eApp health within the Shopify ecosystem\u003c/h3\u003e\n\u003cp\u003eA healthy Shopify app fulfills the specific use case it was installed to address, while allowing the developer to continue to grow and scale their own business. \u003c/p\u003e\n\u003cp\u003eMaintaining your app’s health means staying on top of any and all changes, addressing potential security issues, and monitoring the business insights that will help you understand your app’s performance within the Shopify ecosystem.\u003c/p\u003e\n\u003ch3 id=\"changes-and-api-versioning\"\u003eBreaking changes and API versioning\u003c/h3\u003e\n\u003cp\u003eShopify is always building, changing, and growing. As a developer, it’s important to stay in the loop with all these changes, so that your app stays secure and up-to-date in the process.\u003c/p\u003e\n\u003cp\u003eWe always make sure to announce changes in advance and remind developers of versioning or deprecation closer to the release. Your Partner Dashboard, the \u003ca href=\"https://shopify.dev/changelog?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003edeveloper changelog\u003c/a\u003e, and our \u003ca href=\"https://shopify.dev/concepts/shopify-introduction?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003edeveloper documentation\u003c/a\u003e all make it easier for developers to keep informed of upcoming changes. We also \u003ca href=\"https://www.shopify.com/partners/blog/api-deprecation-update-2020-10?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eannounce updates in advance on the Partner Blog\u003c/a\u003e. \u003c/p\u003e\n\u003cp\u003eAs well as the above resources, we also have an \u003ca href=\"https://partners.shopify.com/current/apps?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eAPI health report\u003c/a\u003e available in your Partner Dashboard. The report shows any deprecated calls your public or custom apps are making, and the deadline for updating those calls in your app.\u003c/p\u003e\n\u003cp\u003eFurthermore, you should always ensure that your developer contact information is up-to-date, as we regularly use email to communicate important updates and breaking changes well in advance.\u003c/p\u003e\n\u003cfigure\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-developer-changelog.jpg?v=1614185009\" alt=\"How to build a Shopify app: screenshot of the developer changelog page. Stay up to date with the recent changes to Shopify's APIs and other developer products. Screenshot shows tabs for both Recent and Scheduled updates, a field to enter your email to sign up for email updates, allow you to filter the changelog for posts that require action, or by tag: API, Tools, Shopify App Store, Themes, or Platform.\"\u003e\n\u003cfigcaption\u003eThe \u003ca href=\"https://shopify.dev/changelog?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003edeveloper changelog\u003c/a\u003e.\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003cp\u003eIn 2019, we introduced \u003ca href=\"https://www.shopify.com/partners/blog/api-versioning-at-shopify?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eAPI versioning at Shopify\u003c/a\u003e so that both Shopify and third-party developers have a clear cadence for when specific changes will be made to the API. Every quarter, Shopify releases a new API version. These releases typically happen on (or close to) January 1, April 1, July 2, and October 1. When a version is released, it lives for about a year, and is named in a \u003ccode class=\"marketing-code\"\u003eyear-month\u003c/code\u003e format, such as \u003ccode class=\"marketing-code\"\u003e2020-10\u003c/code\u003e. Each stable version is locked for a year, after which support isn’t guaranteed. You should always keep your app on a stable version to avoid any breaking changes.\u003c/p\u003e\n\u003cp\u003eIn addition to the ways Shopify helps keep you up-to-date on app performance and ecosystem updates, there are a myriad of other performance management and analytics tools you can use to make sure your app stays healthy post-launch.\u003c/p\u003e\n\u003ch3 id=\"performance-and-management\"\u003eApp performance management and monitoring\u003c/h3\u003e\n\u003cp\u003eThere are various monitoring tools you can use to make sure your app stays healthy and stable as you build new features, scale your performance, and grow your user base. By ensuring all the software within your tech stack is performing smoothly, you maintain a consistent, high-quality user experience and minimize any downtime.\u003c/p\u003e\n\u003cp\u003eApp performance monitoring tools like \u003ca href=\"https://www.bugsnag.com/\"\u003eBugsnag\u003c/a\u003e, \u003ca href=\"https://www.datadoghq.com/product/apm/\"\u003eDatadog\u003c/a\u003e or \u003ca href=\"https://sentry.io/welcome/\"\u003eSentry\u003c/a\u003e monitor your app stability, and make it easy to pinpoint and solve any errors across the applications in your tech stack. Each of these tools have varying costs associated with them.\u003c/p\u003e\n\u003cp\u003eServices like \u003ca href=\"https://aws.amazon.com/lambda/\"\u003eAWS Lambda\u003c/a\u003e allow you to run code without provisioning or managing servers, and automatically scales based on how many event requests you get without needing to upgrade your servers. This will prevent situations like your app becoming slow to load, damaging the user experience. \u003c/p\u003e\n\u003cp\u003eDepending on where the majority of your users are located, your app usage may spike during certain times of day. You want to make sure you set up your infrastructure so there is no downtime during a spike.\u003c/p\u003e\n\u003cp\u003eUsing an app performance monitoring or management tool helps you to understand the stability and security of your underlying systems, which allows you to predict or project how your app will perform if you have a surge of installs, for example. You’re able to anticipate app performance based on various user loads.\u003c/p\u003e\n\u003cp\u003eNot all app performance monitoring tools are created equal in terms of features and functionality, however, and they vary in price depending on the vendor. It’s a good idea to do your own research into what tool will help you the most for your app’s specific use case.\u003c/p\u003e\n\u003ch3 id=\"insights\"\u003eBusiness insights\u003c/h3\u003e\n\u003cp\u003eSetting yourself up to track business insights is something you’ll also want to do from the beginning. Developer Daniel Sim created Shopify apps such as \u003ca href=\"https://apps.shopify.com/plug-in-seo?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePlug In SEO\u003c/a\u003e and \u003ca href=\"https://apps.shopify.com/plug-in-speed?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePlug In Speed\u003c/a\u003e (which he exited earlier in 2020) and is the founder of \u003ca href=\"https://www.appstoreanalytics.io/\"\u003eApp Store Analytics\u003c/a\u003e. He says monitoring business insights was something he and his team set up before they launched their apps in the Shopify App Store.\u003c/p\u003e\n\u003cp\u003e“Our team was very data-driven,” Sim says. “We had metrics covering product, support, software, infrastructure, and marketing. We kept the number of metics as small as possible, making sure each was actionable and owned by someone on the team. They applied right from when an app had tens of users through to tens of thousands.”\u003c/p\u003e\n\u003cp\u003e“Every app developer needs to know how merchants are finding their app, and what their journey looks like. It makes all the difference when it comes to earning revenue from your app,” Sim says.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eEvery app developer needs to know how merchants are finding their app, and what their journey looks like. It makes all the difference when it comes to earning revenue from your app.\u003c/p\u003e\n\u003cfooter\u003e\u003ccite\u003eDaniel Sim, Founder, App Store Analytics\u003c/cite\u003e\u003c/footer\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eSim’s team used \u003ca href=\"https://fourweekmba.com/pirate-metrics/\"\u003eDave McClure's AARRR Pirate Metrics\u003c/a\u003e funnel of Acquisition, Activation, Retention, Revenue, and Referral to measure app performance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eAcquisition: \u003c/strong\u003eHow a merchant finds your app \u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eActivation: \u003c/strong\u003eWhen a merchant installs your app \u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRetention:\u003c/strong\u003e After activation, users stick around and stay engaged with your app\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRevenue: \u003c/strong\u003eHow much money the merchant makes for you\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eReferral:\u003c/strong\u003e A count of how many merchants are telling others about it\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe AARRR metrics funnel gives app developers a performance overview that helps to decide what to focus on next to grow. Sim used the conversion rates between each stage of the funnel to benchmark against other apps, and to spot opportunities and trends between his own apps.\u003c/p\u003e\n\u003cp\u003e“It's fun to build products and add new features,” Sim says. “I'm a developer, so I love to code. Working on acquisition was out of my comfort zone. At first, I didn't properly measure it, essentially ignoring it altogether. But when I eventually did start tracking it, I could see everything else was performing way above average apart from acquisition.”\u003c/p\u003e\n\u003cp\u003eMeasuring a few key metrics will help you understand how your app is performing so you can adjust what isn’t working as needed. \u003c/p\u003e\n\u003ch3 id=\"metrics\"\u003eWhat metrics you should be tracking\u003c/h3\u003e\n\u003cp\u003eWithin the AARRR framework, Sim’s main business metrics were:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTotal users from Google Analytics visiting their app listing and public website \u003c/li\u003e\n\u003cli\u003eInstalls taken from the Shopify Partner Dashboard \u003c/li\u003e\n\u003cli\u003eReviews written on their app listing\u003c/li\u003e\n\u003cli\u003eFree trial to paid conversion rate\u003c/li\u003e\n\u003cli\u003eRevenue growth\u003c/li\u003e\n\u003cli\u003ePercentage of merchants who churned in a given period\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTo track free trial to paid conversion rate, revenue growth, and churn, you can export the app history CSV from your Partner Dashboard into Google Sheets.\u003c/p\u003e\n\u003cp\u003eOnce you start tracking, what do you do with the data? \u003c/p\u003e\n\u003cp\u003e“We put all of our AARRR metrics into a Google Sheet and shared it with the team every week,” Sim says. “Depending on the stage of the app, we'd either use just a week's worth of numbers if there was enough to be statistically significant, or a sliding window of 28 days.”\u003c/p\u003e\n\u003cp\u003eThe conversion rates were important in deciding what to work on. If Sim could see that their revenue growth was slowing, they would investigate back up the funnel to see why. \u003c/p\u003e\n\u003cp\u003eSim says becoming disciplined at tracking AARRR every week helped him and his team focus on things that would support serious growth rather than incremental improvements.\u003c/p\u003e\n\u003cp\u003eHowever, Sim says you can make the mistake of tracking too much.\u003c/p\u003e\n\u003cp\u003e“My thinking was: ‘Oh no, if I don't track this now and we need it in future there's no way to get it retroactively,’” he says. “There was too much noise and it was expensive to maintain all of that tracking as we developed the product. It was a mess. So we pared everything back to just the metrics we needed to track our running experiments. It got tracked and it got done.”\u003c/p\u003e\n\u003cp\u003eWhen you’re able to identify problem areas or adoption rate stagnation, you have a better understanding of how your app is performing, your users’ behavior, and where there is room for improvement.\u003c/p\u003e\n\u003ch4\u003eMetrics-tracking starter tech stack\u003c/h4\u003e\n\u003cp\u003eThe tools you use to track your business metrics will vary depending on your needs and goals. \u003ca href=\"https://shopify.dev/concepts/app-store/being-successful-in-the-app-store/marketing-internally/tracking-your-listing-traffic?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eTracking your listing traffic\u003c/a\u003e in the Shopify App Store is a great way to get more information about how users are finding your app listing.\u003c/p\u003e\n\u003cp\u003eYou can go even further by setting up a couple tools that will help you keep track of the metrics and data that matter. Here are a few to get you started:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ca href=\"https://analytics.google.com/analytics/web/#/\"\u003eGoogle Analytics\u003c/a\u003e: for marketing efforts and acquisition\u003c/li\u003e\n\u003cli\u003ePartner Dashboard: for CSV exports of activation, retention, and revenue \u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://amplitude.com/\"\u003eAmplitude\u003c/a\u003e: for in-app and email events, attributes, and segmentation\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://partnermetrics.io/\"\u003ePartner Metrics\u003c/a\u003e: for quarterly and annual trends\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://baremetrics.com/\"\u003eBaremetrics\u003c/a\u003e: for benchmarks, goals, and free trial insights\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://segment.com/\"\u003eSegment\u003c/a\u003e (\u003ca href=\"https://www.twilio.com/press/releases/twilio-completes-acquisition-segment-market-leading-customer-data-platform\"\u003eacquired\u003c/a\u003e in 2020 by Twilio): for organizing your data pipeline for a clean overview\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis metrics-tracking tech stack can help jumpstart tracking the right data so you can make more informed business decisions and gain traction in the Shopify App Store.\u003c/p\u003e\n\u003cp\u003eOnce you have the data to understand how your app is performing, you can begin to conduct experiments to improve your app and scale over time.\u003c/p\u003e\n\u003ch3 id=\"designing-growth\"\u003eDesigning app growth experiments through data analysis\u003c/h3\u003e\n\u003cp\u003eIt’s important to understand which metrics you want to track and prepare to track them before you publish your Shopify app. This will set you up to have a clear understanding of how your app is performing, allow you to define what success looks like to you, and design growth experiments through that data analysis.\u003c/p\u003e\n\u003cp\u003eOnce Sim and his team identified which metrics they wanted to improve, they would come up with hypotheses to try out. For the most promising hypotheses, they designed experiments. Each experiment offered more granular temporary metrics, that would tell Sim if their hypothesis was validated or invalidated. Wherever practical, and if they had enough volume, they would run A/B tests on their hypotheses.\u003c/p\u003e\n\u003cp\u003eOne such experiment was when they changed the code installation step of onboarding to be automated rather than something support would help with. \u003c/p\u003e\n\u003cp\u003e“To make it an accurate experiment, we added metrics for which stage of onboarding the merchant was dropping out at, their interactions with support, and how engaged they were with the app after onboarding,” Sim says. “Surprisingly, we found that automated code installation led to worse retention. Temporary, focused metrics helped us to invalidate what looked to be a valid hypothesis.”\u003c/p\u003e\n\u003ch3 id=\"understand\"\u003eBuild and understand traction to scale app performance and installs\u003c/h3\u003e\n\u003cp\u003eOnce you’ve set up your app performance management and monitoring tools, you’ll start to see trends, be able to flag fixable errors, and learn how to keep your app high performing and your users happy.\u003c/p\u003e\n\u003cp\u003e“Getting initial traction is like pushing a huge boulder,” Sim says. “Once you get it rolling though, Shopify offers many opportunities to work with the world's best merchants in a healthy, thriving ecosystem of partners.”\u003c/p\u003e\n\u003ch4\u003eAdditional resources:\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.com/partners/blog/api-versioning-at-shopify?itcat=partner_blog\u0026amp;itterm=api_deprecation_update_2020_10\" title=\"Introducing API versioning at Shopify\"\u003eIntroducing API Versioning at Shopify \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.com/partners/blog/api-deprecation-update-2020-10\" title=\"API deprecation at Shopify\"\u003eAPI Deprecation at Shopify: 2020-10 Edition \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"https://www.shopify.com/partners/blog/app-metrics\" title=\"8 growth metrics every app developer should track\"\u003e8 Growth Metrics Every App Developer Should Track \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/concepts/shopify-introduction?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eDeveloping on Shopify\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eShopify.dev: \u003ca href=\"https://shopify.dev/changelog?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eChangelog\u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGet started building your Shopify app\u003c/h2\u003e\n\u003cp\u003eLearning how to build a Shopify app can feel daunting if you’re not sure where to start. Now that you’ve learned the six stages of app building for the Shopify ecosystem, the only limit is your creativity. There are many different ways you can approach creating your app and the steps outlined in this article are simply meant to guide you through the app-building process.\u003c/p\u003e\n\u003cp\u003eYou’ve got what you need to start building a Shopify app. The rest is up to you.\u003c/p\u003e\n\u003ca data-encoded-tag-name=\"meta\" data-encoded-tag-value=\"\" data-encoded-attr-charset=\"dXRmLTg=\"\u003e\u003c/a\u003e\n\u003cp\u003e\u003cspan\u003eLearn more at: \u003c/span\u003e\u003ca href=\"https://www.shopify.com/partners\"\u003eShopify Partners\u003c/a\u003e\u003c/p\u003e\n\u003cdiv data-sanitized-data-partners-signup=\"app_developer\" data-partners-signup=\"app_developer\"\u003e\u003c/div\u003e\n\u003cp\u003e\u003cem\u003eIllustrations by \u003c/em\u003e\u003ca href=\"https://eugeniamello.com/\"\u003e\u003cem\u003eEugenia Mello\u003c/em\u003e\u003c/a\u003e\u003cem\u003e.\u003c/em\u003e\u003c/p\u003e","excerpt":"Millions of merchants use Shopify to power their businesses, and apps play a critical role in their success. Apps empower merchants to meet their unique challenges and needs. While there are limitless opportunities to build an app, if you haven’t developed an app for the Shopify App Store before, where exactly do you start? In this guide, you’ll learn the six stages of app development you need to know to create and launch a successful app on Shopify. Let’s get started.","excerptHtml":"\u003ca href=\"https://www.shopify.com/partners/blog/how-to-build-a-shopify-app?utm_source=exacttarget\u0026amp;utm_medium=email\u0026amp;utm_campaign=blog\u0026amp;utm_content=partner_blog-2021-02-25\"\u003e\u003cimg src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app.jpg?v=1614173396\" alt=\"How to build a Shopify app\"\u003e\u003c/a\u003e\n\u003cp\u003eMillions of merchants use Shopify to power their businesses, and apps play a critical role in their success. Apps empower merchants to meet their unique challenges and needs. While there are limitless opportunities to build an app, if you haven’t developed an app for the Shopify App Store before, where exactly do you start?\u003c/p\u003e\n\u003cp\u003eIn this guide, you’ll learn the six stages of app development you need to know to create and launch a successful app on Shopify. Let’s get started.\u003c/p\u003e","seo":{"__typename":"SEO","title":null,"description":"How to Build a Shopify App is everything you need to know to build your first Shopify app. Learn the tools and insights you need to build a successful app."},"metafields":[null,null,null,null,{"__typename":"Metafield","value":"[{\"title\":\"How to Build a Shopify App as a Front End Developer\",\"url\":\"partners/blog/front-end-app\"},{\"title\":\"How to Build a Shopify App in One Week\",\"url\":\"partners/blog/building-a-shopify-app-in-one-week\"},{\"title\":\"Everything You Need to Know About Development Stores\",\"url\":\"partners/blog/development-stores\"},{\"title\":\"How to Generate a Shopify Access Token\",\"url\":\"partners/blog/17056443-how-to-generate-a-shopify-api-token\"},{\"title\":\"Learn About Shopify App Development at React Summit 2021\",\"url\":\"partners/blog/react-summit-2021\"},{\"title\":\"How to Level Up Your App with Theme App Extensions\",\"url\":\"partners/blog/theme-app-extensions\"}]","key":"interlinkings_json"},null,{"__typename":"Metafield","value":"[{\"title\":\"10 Beautiful Ecommerce Website Color Schemes\",\"tags\":[\"Web Design Tools and Resources\"],\"handle\":\"93130630-10-beautiful-ecommerce-website-color-schemes\",\"imageUrl\":\"https://cdn.shopify.com/s/files/1/0533/2089/files/website-color-schemes_aa512fdf-91cb-4a30-8fa2-3d2c88d28cf1.jpg?v=1566309308\u0026width=1024\",\"imageAltText\":\"website color schemes\",\"modifiedAt\":\"2019-08-20\"},{\"title\":\"How to Build a Shopify App: The Complete Guide\\n\",\"tags\":[\"Shopify App Development\"],\"handle\":\"how-to-build-a-shopify-app\",\"imageUrl\":\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app.jpg?v=1614173396\u0026width=1024\",\"imageAltText\":\"How to build a Shopify app\",\"modifiedAt\":\"2021-02-24\"},{\"title\":\"15 Funny Lorem Ipsum Generators to Shake Up Your Design Mockups\",\"tags\":[\"Web Design Tools and Resources\"],\"handle\":\"79940998-15-funny-lorem-ipsum-generators-to-shake-up-your-design-mockups\",\"imageUrl\":\"https://cdn.shopify.com/s/files/1/0533/2089/files/lorem-ipsum-generator.jpg?v=1555505887\u0026width=1024\",\"imageAltText\":\"lorem ipsum generator\",\"modifiedAt\":\"2019-04-17\"},{\"title\":\"20 Memorable Web Design Portfolio Examples to Inspire Your Own Website\",\"tags\":[\"Inspiration \u0026 Creativity\"],\"handle\":\"web-design-portfolio-inspiration\",\"imageUrl\":\"https://cdn.shopify.com/s/files/1/0533/2089/files/web-design-portfolio-inspiration.jpg?v=1503509907\u0026width=1024\",\"imageAltText\":\"Web design portfolio inspiration\",\"modifiedAt\":\"2019-05-01\"},{\"title\":\"Inclusive Design: 12 Ways to Design for Everyone\",\"tags\":[\"Web Design\"],\"handle\":\"inclusive-design\",\"imageUrl\":\"https://cdn.shopify.com/s/files/1/0533/2089/files/inclusive-design.jpg?v=1521725383\u0026width=1024\",\"imageAltText\":\"inclusive design\",\"modifiedAt\":\"2018-03-23\"},{\"title\":\"How to Manipulate Images with the img_url Filter\",\"tags\":[\"Learning Liquid\"],\"handle\":\"img-url-filter\",\"imageUrl\":\"https://cdn.shopify.com/s/files/1/0533/2089/files/img-url-filter.jpg?v=1515074624\u0026width=1024\",\"imageAltText\":\"img url filter\",\"modifiedAt\":\"2018-01-04\"},{\"title\":\"Create a Marketplace in Less than 8 Minutes with Shopify’s Marketplace Kit\",\"tags\":[\"Shopify News\"],\"handle\":\"shopify-marketplace-kit\",\"imageUrl\":\"https://cdn.shopify.com/s/files/1/0533/2089/files/Partner_blog_hero_image.png?format=webp\u0026v=1655890916\u0026width=1024\",\"imageAltText\":\"Shopify Marketplace Kit hero image\",\"modifiedAt\":\"2022-05-13\"},{\"title\":\"Introducing Online Store 2.0: What it Means For Developers\",\"tags\":[\"Shopify News\"],\"handle\":\"shopify-online-store\",\"imageUrl\":\"https://cdn.shopify.com/s/files/1/0533/2089/files/shopify-online-store.jpg?v=1624557750\u0026width=1024\",\"imageAltText\":\"shopify online store\",\"modifiedAt\":\"2021-01-29\"}]","key":"popular_blog_post_json"}],"imageUrl":"https://cdn.shopify.com/s/files/1/0533/2089/articles/how-to-build-a-shopify-app.jpg?v=1727286002","imageAltText":"How to build a Shopify app","imageClass":"","modifiedAt":"25 Feb 2021","modifiedAtRaw":"2021-02-25T03:00:00Z"},"metaDescription":"How to Build a Shopify App is everything you need to know to build your first Shopify app. Learn the tools and insights you need to build a successful app.","contentHtml":"\n\u003cp\u003eThere’s never been a better time to build a Shopify app. Millions of merchants across the globe build, scale, and manage their businesses on Shopify. Apps play a critical role in their success by empowering them to meet the unique challenges and needs of their business. In fact, apps are so important to the merchant journey that the average Shopify merchant has six apps installed on their store.\u003c/p\u003e\n\u003cp\u003eWith the diversity of our merchant base growing by the day, and a rapidly changing commerce landscape, there are always opportunities for developers to build creative solutions to diverse merchant problems. Each stage of a merchant’s entrepreneurial journey is a standalone billion-dollar industry—from sourcing products, marketing, order fulfillment, customer management, and more. The opportunities are there, but if you haven’t developed an app for the \u003ca href=\"https://apps.shopify.com?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify App Store\u003c/a\u003e before, where exactly do you start?\u003c/p\u003e\n\u003cp\u003eWe’ve got you covered. In this guide, we share the six stages of app development you need to know to build and launch a successful app on Shopify, with insights and advice from Shopify’s own developers and successful partner app developers who work with Shopify every day.\u003c/p\u003e\n\u003cp\u003eLet’s get started.\u003c/p\u003e\n\u003cdiv style=\"background: #f8f8f8; border: 1px solid #d6d7d7; padding: 0 20px 15px;\"\u003e\n\u003ch3 style=\"text-align: center;\"\u003eTable of contents\u003c/h3\u003e\n\u003chr\u003e\n\u003cbr\u003e\u003ca href=\"#ecosystem\"\u003e1. What to know about Shopify’s app ecosystem\u003c/a\u003e\u003cbr\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#apps-into-shopify\"\u003eHow apps fit into Shopify\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#types\"\u003eApp types\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#merchant-buyer-data\"\u003eMerchant and buyer data\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#app-store\"\u003eThe Shopify App Store\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#getting-started\"\u003eGetting started with your app\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ca href=\"#how-to-validate\"\u003e2. How to validate your app idea\u003c/a\u003e\u003cbr\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#step-validation\"\u003e4 steps to validate your app idea\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#right-reasons\"\u003eBuilding for the right reasons\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ca href=\"#consider-design\"\u003e3. What to consider as you design your Shopify app\u003c/a\u003e\u003cbr\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#polaris-getting-started\"\u003eGetting started with Polaris\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#accessibility-principles\"\u003eThe best app design embraces accessibility principles\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#merchant-in-mind\"\u003eApp design with the merchant in mind\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ca href=\"#submission-to-store\"\u003e4. Submission to the Shopify App Store\u003c/a\u003e\u003cbr\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#prepare-submit\"\u003ePreparing to submit your app\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#submitting\"\u003eSubmitting your app\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#review\"\u003eThe review process\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#revise\"\u003eRevisions and changes\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ca href=\"#monitoring\"\u003e5. Monitoring your app: keeping performance top of mind\u003c/a\u003e\u003cbr\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#app-health\"\u003eApp health within the Shopify ecosystem\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#changes-and-api-versioning\"\u003eBreaking changes and API versioning\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#performance-and-management\"\u003eApp performance management and monitoring\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#insights\"\u003eBusiness insights\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#metrics\"\u003eWhat metrics you should be tracking\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#designing-growth\"\u003eDesigning app growth experiments through data analysis\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#understand\"\u003eBuild and understand traction to scale app performance and installs\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/div\u003e\n\u003ch2 id=\"ecosystem\"\u003e1. What to know about Shopify’s app ecosystem\u003c/h2\u003e\n\u003cp\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-what-to-know-triangles.jpg?v=1614173343\" alt=\"How to build a Shopify app: Illustration of a person obscured by the waist up. They are holding colorful rectangles that overlay each other, piled past their head. The vague shape of a large arrow pointing up is created by the overlaid rectangles. This is a simplified, abstract representation of how Shopify's app ecosystem works together.\"\u003e\u003c/p\u003e\n\u003cp\u003eBefore you begin the process of planning and developing your app, it’s important to first understand how apps work with Shopify’s ecosystem.\u003c/p\u003e\n\u003cp\u003eIn this section, we’ll dive into how apps fit into Shopify, the infrastructure and tech stack available to developers, and the different types of apps you can build.\u003c/p\u003e\n\u003cdiv data-sanitized-data-partners-signup=\"app_developer\" data-partners-signup=\"app_developer\"\u003e\u003c/div\u003e\n\u003ch3 id=\"apps-into-shopify\"\u003eHow apps fit into Shopify\u003c/h3\u003e\n\u003cp\u003eShopify is designed to get merchants up and running out of the box. But each merchant is unique, so they use apps to solve their specific challenges.\u003c/p\u003e\n\u003cp\u003eIn the Shopify context, apps are web applications that extend the functionality of Shopify stores. They allow merchants to tailor their experiences on Shopify to exactly their needs.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eApps integrate with Shopify by:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConnecting with \u003ca href=\"https://shopify.dev/docs?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify’s APIs\u003c/a\u003e, the most-used of which is the \u003ca href=\"https://shopify.dev/docs/admin-api?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eAdmin API\u003c/a\u003e, which allows apps to read and write data about products, customers, orders, inventory, fulfillment, and more\u003c/li\u003e\n\u003cli\u003eExtending new features inside existing parts of the Shopify Admin or POS\u003c/li\u003e\n\u003cli\u003eEnhancing the way stores display information to customers\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"types\"\u003eApp types\u003c/h3\u003e\n\u003cp\u003eThere are\u0026nbsp;two different levels of accessibility your app can have:\u0026nbsp;\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ca href=\"https://shopify.dev/concepts/apps?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#public-apps\"\u003ePublic apps\u003c/a\u003e: Apps that are available to many merchants and can be listed in \u003ca href=\"https://apps.shopify.com?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ethe Shopify App Store\u003c/a\u003e (see below). They are created in your Partner Dashboard.\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://shopify.dev/concepts/apps?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#custom-apps\"\u003eCustom apps\u003c/a\u003e: Apps that are custom made for a specific merchant and cannot be listed in the Shopify App Store. They are created in your Partner Dashboard.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote class=\"border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [\u0026amp;_p]:mb-4 [\u0026amp;_cite]:font-aktivgroteskextended [\u0026amp;_cite]:text-sm [\u0026amp;_cite]:not-italic [\u0026amp;_cite]:font-medium [\u0026amp;_cite]:tracking-[-0.0175rem] [\u0026amp;_footer]:mt-4 [\u0026amp;_cite::before]:content-[\u0026quot;–\u0026quot;] [\u0026amp;_cite::before]:mr-1 border-partners-highlight\"\u003e\"For the purposes of this guide, we’re going to focus on creating public apps: apps that are meant for one-to-many distribution via the Shopify App Store.\"\u003c/blockquote\u003e\n\u003cp\u003eFor the purposes of this guide, we’re going to focus on creating public apps: apps that are meant for one-to-many distribution via the Shopify App Store. For developers who are new to the Shopify ecosystem, public apps are the fastest way to get up and running, and to connect your solution with our existing merchant base.\u003c/p\u003e\n\u003cp\u003eIn addition to their type, apps can take two different forms: standalone apps and embedded apps.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://shopify.dev/concepts/apps?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#standalone-apps\"\u003eStandalone apps\u003c/a\u003e expose their own user interface, on their own web domain, and don’t have access to app extensions (see below). \u003ca href=\"https://shopify.dev/concepts/apps?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#embedded-apps\"\u003eEmbedded apps\u003c/a\u003e are hosted on your own infrastructure, but integrate more deeply with Shopify using \u003ca href=\"https://shopify.dev/tools/app-bridge?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify App Bridge\u003c/a\u003e, and display directly in the Shopify merchant admin or point-of-sale (POS) inside an \u003ccode class=\"marketing-code\"\u003eiframe\u003c/code\u003e.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eEmbedded apps also enable you to add features to certain parts of Shopify’s user interface (UI) and online stores via \u003ca href=\"https://shopify.dev/docs/app-extensions?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eapp extensions\u003c/a\u003e. When you use an app extension, Shopify relays information to your app when the merchant interacts with Shopify, then surfaces your app back to the merchant via the extension. App extensions can be used to extend into:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe Shopify Admin\u003c/li\u003e\n\u003cli\u003eThe online store\u003c/li\u003e\n\u003cli\u003eShopify POS\u003c/li\u003e\n\u003cli\u003eShopify Flow\u003c/li\u003e\n\u003cli\u003eShopify Kit\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBecause of how closely they're integrated with Shopify and how much better of a merchant experience they deliver, we recommend building embedded apps, and this guide will walk you through that process. If you’re still brainstorming what use case your app will serve, read our chapter on \u003ca href=\"#how-to-validate\"\u003evalidating your app idea.\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote class=\"border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [\u0026amp;_p]:mb-4 [\u0026amp;_cite]:font-aktivgroteskextended [\u0026amp;_cite]:text-sm [\u0026amp;_cite]:not-italic [\u0026amp;_cite]:font-medium [\u0026amp;_cite]:tracking-[-0.0175rem] [\u0026amp;_footer]:mt-4 [\u0026amp;_cite::before]:content-[\u0026quot;–\u0026quot;] [\u0026amp;_cite::before]:mr-1 border-partners-highlight\"\u003e\"We recommend building embedded apps because of how closely they integrate with Shopify and how much more they improve the merchant experience.\"\u003c/blockquote\u003e\n\u003ch3 id=\"merchant-buyer-data\"\u003eMerchant and buyer data\u003c/h3\u003e\n\u003cp\u003eWith millions of merchants using the Shopify platform to power their businesses, it’s important that every developer takes their trust and security—and that of their customers’—seriously.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/ng/legal/api-terms?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eThe Shopify API License and Terms of Use\u003c/a\u003e is the final word on what is allowed and not allowed on Shopify’s platform. You can also visit the \u003ca href=\"https://shopify.dev/concepts/trust-and-security?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003etrust and security page\u003c/a\u003e in our docs for information on the following:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAuthentication and API keys\u003c/li\u003e\n\u003cli\u003eAPI rate limits\u003c/li\u003e\n\u003cli\u003eAPI versioning\u003c/li\u003e\n\u003cli\u003eData privacy and sharing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://shopify.dev/concepts/trust-and-security/gdpr?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eGlobal GDPR compliance\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://shopify.dev/tutorials/add-gdpr-webhooks-to-your-app?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#mandatory-webhooks\"\u003eMandatory webhooks\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThese rules are designed to make using the Shopify platform fair and transparent for everyone, while protecting the data of our merchants and their customers. You can learn more about \u003ca href=\"#app-secure\"\u003eapp security best practices\u003c/a\u003e below.\u003c/p\u003e\n\u003ch3 id=\"app-store\"\u003eThe Shopify App Store\u003c/h3\u003e\n\u003cp\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-screenshot-of-app-store-homepage.jpg?v=1614173290\" alt=\"How to build a Shopify app: Screenshot of the Shopify App Store home page with a search bar to search for specific apps, a section below that highlighting four staff picks, and a section at the bottom highlighting four trending apps.\" loading=\"lazy\"\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://apps.shopify.com?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eThe Shopify App Store\u003c/a\u003e is the easiest way for merchants to find apps that enable the functionality they need to build their stores. The Shopify App Store is organized by categories, and has a robust search feature and recommendation algorithm that helps merchants find the apps they need.\u003c/p\u003e\n\u003cp\u003eAll public apps are given a listing page in the Shopify App Store. \u003ca href=\"https://shopify.dev/concepts/app-store/visibility?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#listed-apps\"\u003eListed apps\u003c/a\u003e are publicly available to all merchants, while \u003ca href=\"https://shopify.dev/concepts/app-store/visibility?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#unlisted-apps\"\u003eunlisted apps\u003c/a\u003e have limited visibility. Depending on your use case, both listed and unlisted apps have their own benefits.\u003c/p\u003e\n\u003cp\u003eListed apps are visible in the Shopify App Store, allowing you to reach many merchants and highlight the features your app provides. With listed apps, you can take advantage of features like \u003ca href=\"https://shopify.dev/concepts/app-store/advertising?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eads in the app store\u003c/a\u003e.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [\u0026amp;_h2]:!mt-0 [\u0026amp;_h2]:mb-6 [\u0026amp;_h2]:text-t5 [\u0026amp;_h3]:!mt-0 [\u0026amp;_h3]:mb-6 [\u0026amp;_h3]:text-t7 [\u0026amp;_h4]:!mt-0 [\u0026amp;_h4]:mb-6 [\u0026amp;_h4]:text-t8 [\u0026amp;_ul]:!mt-0 [\u0026amp;_ul]:mb-6 [\u0026amp;_ul:last-child]:mb-0 [\u0026amp;_ol]:!mt-0 [\u0026amp;_ol]:mb-6 [\u0026amp;_ol:last-child]:mb-0 [\u0026amp;_p]:!mt-0 [\u0026amp;_p]:mb-6 [\u0026amp;_p:last-child]:mb-0 border-partners-highlight\"\u003e\n\u003cp\u003e\u003cstrong\u003eBenefits of listed apps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOnly way to be discoverable by merchants through search\u003c/li\u003e\n\u003cli\u003eIncreased organic reach\u003c/li\u003e\n\u003cli\u003eBrand awareness\u003c/li\u003e\n\u003cli\u003eIncreased trust from reviews\u003c/li\u003e\n\u003cli\u003eHelps sell features\u003c/li\u003e\n\u003cli\u003eLeverage Shopify App Store ads\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/div\u003e\n\u003cp\u003eUnlisted apps are public apps that are \u003cem\u003enot\u003c/em\u003e visible in the Shopify App Store (though they do still require an \u003ca href=\"https://shopify.dev/concepts/app-store/getting-your-app-approved/app-requirements?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eapp listing\u003c/a\u003e). This allows you to control who can install your app, or hide your app during down seasons (for seasonal apps) or periods of maintenance. However, we recommend publicly listing your app to take full advantage of the opportunities and features of the Shopify App Store.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [\u0026amp;_h2]:!mt-0 [\u0026amp;_h2]:mb-6 [\u0026amp;_h2]:text-t5 [\u0026amp;_h3]:!mt-0 [\u0026amp;_h3]:mb-6 [\u0026amp;_h3]:text-t7 [\u0026amp;_h4]:!mt-0 [\u0026amp;_h4]:mb-6 [\u0026amp;_h4]:text-t8 [\u0026amp;_ul]:!mt-0 [\u0026amp;_ul]:mb-6 [\u0026amp;_ul:last-child]:mb-0 [\u0026amp;_ol]:!mt-0 [\u0026amp;_ol]:mb-6 [\u0026amp;_ol:last-child]:mb-0 [\u0026amp;_p]:!mt-0 [\u0026amp;_p]:mb-6 [\u0026amp;_p:last-child]:mb-0 border-partners-highlight\"\u003e\n\u003cp\u003e\u003cstrong\u003eBenefits of unlisted apps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFocus on a targeted merchant base\u003c/li\u003e\n\u003cli\u003eMore control over growth\u003c/li\u003e\n\u003cli\u003eHelpful for seasonal apps\u003c/li\u003e\n\u003cli\u003eGood for maintenance periods\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/div\u003e\n\u003cp\u003eWhen starting out on Shopify, the Shopify App Store is likely going to be the main source of leads and installs of your app. Optimizing your app listing page, setting your app up for success, and leveraging tools like ads in the Shopify App Store are all ways of increasing installs and sales. We’ll dive deeper into the Shopify App Store and how to use it in the \u003ca href=\"#submission-to-store\"\u003eSubmitting your app to the Shopify App Store\u003c/a\u003e section of this guide.\u003c/p\u003e\n\u003ch3 id=\"getting-started\"\u003eGetting started with your app\u003c/h3\u003e\n\u003cp\u003eNow that you have an understanding of the basics of the Shopify platform, you’re ready to start validating your app idea to understand the business opportunity of building with Shopify.\u003c/p\u003e\n\u003ch4\u003eAdditional resources\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ng/partners/blog/the-essential-list-of-resources-for-shopify-app-development\" title=\"The essential list of resources for Shopify app development\"\u003eThe Essential List of Resources for Shopify App Development \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ng/partners/blog/online-store-app-extensions\" title=\"Online store app extensions\"\u003eExtend Into the Storefront With Online Store App Extensions \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ng/partners/blog/point-of-sale-apps\" title=\"Point of sale apps\"\u003eHow to Build Point of Sale Apps Using Shopify App Bridge \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ng/partners/blog/shopify-subscription-apis\" title=\"Shopify subscription APIs\"\u003eIntroducing Shopify Subscription APIs: Build Apps That Integrate with Shopify Checkout \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ng/partners/blog/gdpr-compliance\" title=\"What App Developers Need to Know About GDPR\"\u003eWhat App Developers Need to Know About GDPR \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ng/partners/blog/web-security-2018\" title=\"Web Security Fundamentals\"\u003eWeb Security Fundamentals: What Every Developer Should Know \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/tools/app-bridge?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify App Bridge\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/tutorials/authenticate-your-app-using-session-tokens?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eAuthenticate your app using session tokens (tutorial)\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/tutorials/embed-your-app-in-the-shopify-admin?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eEmbed your app in the Shopify admin (tutorial)\u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"how-to-validate\"\u003e2. How to validate your app idea\u003c/h2\u003e\n\u003cp\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-validate-your-app-idea.jpg?v=1614173213\" alt=\"How to build a Shopify app: Illustration of two women tilting a large light bulb to the right.\" loading=\"lazy\"\u003e\u003c/p\u003e\n\u003cp\u003eYou’ve got an idea for an app—and it’s \u003cem\u003egood\u003c/em\u003e. Now that you know how apps fit into Shopify’s ecosystem, you’re ready to dive into the design process. But wait, are you? Validating your idea is a step in the app-building process you definitely shouldn’t skip.\u003c/p\u003e\n\u003cp\u003eValidating your app idea gives you a much higher chance of success because you know you’re building something that your target user needs—and, in turn, building something that has a higher chance of getting more installs.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eThe key with validation is to not get caught up in research, but to learn enough that will make your minimum viable product (MVP) something that you can tweak and build on.\u003c/p\u003e\n\u003cp\u003eIn this section, we’ll dive into how to develop an app that solves a real merchant problem, how to validate your idea through research, and the market shifts and trends you’ll need to consider.\u003c/p\u003e\n\u003cdiv data-sanitized-data-partners-signup=\"app_developer\" data-partners-signup=\"app_developer\"\u003e\u003c/div\u003e\n\u003ch3 id=\"step-validation\"\u003e4 steps to validate your app idea\u003c/h3\u003e\n\u003cp\u003eValidating your app idea is a process unique to your experience and the needs of your target market. It’s an investment in your future success. Developers Preetam Nath and Sankalp Jonna spent two months investigating whether their first app idea was valid before starting any design or development, a process their team replicated for their second app, \u003ca href=\"https://www.delightchat.io/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eDelightChat\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e“We didn't want to build something and realize nobody's going to use it. We've had that situation in the past,” Nath said. “Although we took a longer approach, we wanted to understand what’s happening in the ecosystem and what the various problems are.”\u003c/p\u003e\n\u003cp\u003eWhile there are many ways to prove your app idea is a good one, here are four key questions to answer that will help get you started:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eDoes this idea solve a real merchant problem?\u003c/li\u003e\n\u003cli\u003eHow is my target market trying to solve this problem right now?\u003c/li\u003e\n\u003cli\u003eAre merchants willing to pay for a solution to this problem?\u003c/li\u003e\n\u003cli\u003eCan we actually build the app?\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eLet’s explore each of these questions more in depth.\u003c/p\u003e\n\u003ch4\u003e1. Does your app idea solve a real merchant problem?\u003c/h4\u003e\n\u003cp\u003eFirst, you have to clearly define what a “real problem” means. Problem-solving is a full-time job for merchants, so it can be challenging to know where to begin.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eA real problem is something that store owners are actively spending a lot of time, money, stress, and/or effort trying to solve. So how do you find out what merchants’ problems are? You go right to the source.\u003c/p\u003e\n\u003cp\u003eNath and Jonna posted questions in forums, such as the \u003ca href=\"https://www.reddit.com/r/shopify/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eShopify subreddit\u003c/a\u003e or the \u003ca href=\"https://community.shopify.com/c/Shopify-Community/ct-p/en\"\u003eShopify Community Forum\u003c/a\u003e, and were able to have conversations with merchants via direct messages to get clear answers to their questions. They also joined various \u003ca href=\"https://www.facebook.com/search/groups/?q=shopify\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eFacebook groups\u003c/a\u003e to listen and learn more about merchant frustrations.\u003c/p\u003e\n\u003cp\u003eIf you’re working with merchants already, consider sending out a feedback form or questionnaire to find out more details about the problems they face. If you don’t work with merchants yet, or you’re ready to learn more, it’s time to move on to question number two.\u003c/p\u003e\n\u003cp\u003eOnce you know your app can solve a real merchant problem, the next step is to learn more about how (or if) merchants are already trying to fix the problem themselves, and anticipate any new challenges they could face within their industry.\u0026nbsp;\u003c/p\u003e\n\u003ch5\u003eWhat’s happening in the industry and what are the trends?\u003c/h5\u003e\n\u003cp\u003eThere are unique challenges within every industry and at every stage of the merchant journey—and each stage is a potential billion-dollar industry you can tap into. Keep up to date on trends and disruptions within a certain industry, such as marketing, shipping, finance, customer support, or product sourcing to learn its past, present, and future concerns and ambitions.\u003c/p\u003e\n\u003cblockquote class=\"border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [\u0026amp;_p]:mb-4 [\u0026amp;_cite]:font-aktivgroteskextended [\u0026amp;_cite]:text-sm [\u0026amp;_cite]:not-italic [\u0026amp;_cite]:font-medium [\u0026amp;_cite]:tracking-[-0.0175rem] [\u0026amp;_footer]:mt-4 [\u0026amp;_cite::before]:content-[\u0026quot;–\u0026quot;] [\u0026amp;_cite::before]:mr-1 border-partners-highlight\"\u003e\"There are unique challenges within every industry and at every stage of the merchant journey—and each stage is a potential billion-dollar industry you can tap into.\"\u003c/blockquote\u003e\n\u003cp\u003eTaking the time to understand your target market, potential users, and industry trends will save you time and effort when it comes to refining your MVP. This comes down to the research you do before you begin to build. Learning the \u003ca href=\"/ng/partners/blog/app-development-business-trends\" title=\"app development business trends\"\u003eapp development business trends\u003c/a\u003e applicable to your app idea is an ongoing process, so taking advantage of your existing expertise or knowledge will help get you started.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [\u0026amp;_h2]:!mt-0 [\u0026amp;_h2]:mb-6 [\u0026amp;_h2]:text-t5 [\u0026amp;_h3]:!mt-0 [\u0026amp;_h3]:mb-6 [\u0026amp;_h3]:text-t7 [\u0026amp;_h4]:!mt-0 [\u0026amp;_h4]:mb-6 [\u0026amp;_h4]:text-t8 [\u0026amp;_ul]:!mt-0 [\u0026amp;_ul]:mb-6 [\u0026amp;_ul:last-child]:mb-0 [\u0026amp;_ol]:!mt-0 [\u0026amp;_ol]:mb-6 [\u0026amp;_ol:last-child]:mb-0 [\u0026amp;_p]:!mt-0 [\u0026amp;_p]:mb-6 [\u0026amp;_p:last-child]:mb-0 border-partners-highlight\"\u003e\n\u003cp\u003eOver the span of just three months in early 2020, \u003ca href=\"https://www.mckinsey.com/business-functions/strategy-and-corporate-finance/our-insights/five-fifty-the-quickening#\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eecommerce growth accelerated 10 years\u003c/a\u003e into the future as COVID-19 changed how many merchants do business.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/ng/partners/blog/app-challenge-tilo-mitra?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eRead how Shopify App Challenge winner Tilo Mitra built his first app\u003c/a\u003e in response to these new challenges.\u003c/p\u003e\n\u003c/div\u003e\n\u003cp\u003eLeveraging any prior experience with a current client, or within the industry or adjacent market you’re building an app for, will give you a competitive advantage, because you’re already familiar with your users’ pain points and industry trends.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [\u0026amp;_h2]:!mt-0 [\u0026amp;_h2]:mb-6 [\u0026amp;_h2]:text-t5 [\u0026amp;_h3]:!mt-0 [\u0026amp;_h3]:mb-6 [\u0026amp;_h3]:text-t7 [\u0026amp;_h4]:!mt-0 [\u0026amp;_h4]:mb-6 [\u0026amp;_h4]:text-t8 [\u0026amp;_ul]:!mt-0 [\u0026amp;_ul]:mb-6 [\u0026amp;_ul:last-child]:mb-0 [\u0026amp;_ol]:!mt-0 [\u0026amp;_ol]:mb-6 [\u0026amp;_ol:last-child]:mb-0 [\u0026amp;_p]:!mt-0 [\u0026amp;_p]:mb-6 [\u0026amp;_p:last-child]:mb-0 border-partners-highlight\"\u003e\n\u003cp\u003e\u003ca href=\"/ng/partners/blog/chatdesk-app-developer-case-study?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\" title=\"Chatdesk app developer case study\"\u003eRead our case study\u003c/a\u003e to learn how co-founders Aneto Okonkwo and Andrew Olaleye built customer support app \u003ca href=\"https://apps.shopify.com/chatdesk-email-social-media-customer-service?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eChatdesk\u003c/a\u003e based on experiences, goals, and lessons learned in their previous careers.\u003c/p\u003e\n\u003c/div\u003e\n\u003ch5\u003eConducting market research\u003c/h5\u003e\n\u003cp\u003eEven if you don’t already have experience in the industry you’re building for, you can conduct \u003ca href=\"/ng/partners/blog/market-research-app?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\" title=\"market research app\"\u003emarket research\u003c/a\u003e for your app. Figuring out what excites or frustrates your customers will help shape your product.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eAt this point, you’ve already spoken to merchants and figured out how and where your app will add value. Gain more context about how your app will fit into the “big picture” by:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eReading industry publications and white papers, such as Shopify’s annual \u003ca href=\"/ng/plus/commerce-trends?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eFuture of Commerce report\u003c/a\u003e, and McKinsey’s quarterly \u003ca href=\"https://www.mckinsey.com/business-functions/strategy-and-corporate-finance/our-insights/five-fifty-the-quickening#\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eFive Fifty report\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eFollowing industry leaders and experts on social media, such as Shopify leadership team: Director of Partnerships, \u003ca href=\"https://twitter.com/fatimayusf\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eFatima Yusuf\u003c/a\u003e, President \u003ca href=\"https://twitter.com/harleyf\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eHarley Finklestein\u003c/a\u003e, CTO \u003ca href=\"https://twitter.com/jmwind\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eJean-Michel Lemieux\u003c/a\u003e, and CEO \u003ca href=\"https://twitter.com/tobi\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eTobi Lutke\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eMonitoring news reports about commerce and business\u003c/li\u003e\n\u003cli\u003eSpeaking to experts in your industry\u003c/li\u003e\n\u003cli\u003eCreating a focus group\u003c/li\u003e\n\u003cli\u003eAnalyzing merchant feedback and concerns on social media and in \u003ca href=\"https://community.shopify.com/c/Shopify-Community/ct-p/en?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ecommunity forums\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eAnalyzing app reviews on the \u003ca href=\"https://apps.shopify.com?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify App Store\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eSubscribing to newsletters like \u003ca href=\"/ng/partners/blog/whats-new-2021?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eWhat’s New for Shopify Developers\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eAttending events like \u003ca href=\"https://events.shopify.com/partnertownhall?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify Partner Town Hall\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eSubscribing to relevant blogs, such as the \u003ca href=\"/ng/partners/blog?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify Partner Blog\u003c/a\u003e, the \u003ca href=\"/ng/?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify Engineering Blog\u003c/a\u003e, and the \u003ca href=\"/ng/blog?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify Merchant Blog\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eAnd more\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-fatima-yusuf-tweet.jpg?v=1614173125\" alt=\"how to build a shopify app: Screenshot of a viral tweet by Shopify Director of Partnerships Fatima Yusuf. The tweet says: Shopify surpassed 5,000 apps in the App Store in 2020, but the growth has only just begun. Here are some hashtag commerce trends I expect we'll see more of in Shopify's app ecosystem in 2021. A yellow emoji hand points down to indicate there is a thread of tweets and to read on.\" loading=\"lazy\"\u003e\n\u003cfigcaption\u003eShopify Director of Partnerships Fatima Yusuf recently shared \u003ca href=\"https://twitter.com/fatimayusf/status/1346222106049183744\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003ea full thread\u003c/a\u003e of anticipated commerce trends in Shopify’s app ecosystem in 2021.\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003cp\u003eSome of the most successful apps in the Shopify App Store started out by proactively solving merchant problems. Look back on past wins with specific clients, platforms, or markets to see if there are any trends or patterns you can build on.\u003c/p\u003e\n\u003ch5\u003eWill this app solve a niche need, or a feature or functionality gap?\u003c/h5\u003e\n\u003cp\u003eAlthough there are multiple apps in each category of the Shopify App Store, remember that with millions of diverse merchants growing by the day, every merchant may need something a little different, depending on their size, their industry, their goals, and where they are in the world. This means there are niche needs in every category that you can find and create a solution for. The apps that work for one segment won't necessarily work for another.\u003c/p\u003e\n\u003cblockquote class=\"border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [\u0026amp;_p]:mb-4 [\u0026amp;_cite]:font-aktivgroteskextended [\u0026amp;_cite]:text-sm [\u0026amp;_cite]:not-italic [\u0026amp;_cite]:font-medium [\u0026amp;_cite]:tracking-[-0.0175rem] [\u0026amp;_footer]:mt-4 [\u0026amp;_cite::before]:content-[\u0026quot;–\u0026quot;] [\u0026amp;_cite::before]:mr-1 border-partners-highlight\"\u003e\"Adding significant value to a niche merchant problem is one key to standing out.\"\u003c/blockquote\u003e\n\u003cp\u003eThere are so many opportunities to address a merchant pain point that hasn’t yet been addressed. Adding significant value to a niche merchant problem is one key to standing out. For example, if you want to build an SMS app and feel like there's too much competition, you can further investigate the needs of a key region or specific merchant segment, and you home in on the solution that makes sense for them.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [\u0026amp;_h2]:!mt-0 [\u0026amp;_h2]:mb-6 [\u0026amp;_h2]:text-t5 [\u0026amp;_h3]:!mt-0 [\u0026amp;_h3]:mb-6 [\u0026amp;_h3]:text-t7 [\u0026amp;_h4]:!mt-0 [\u0026amp;_h4]:mb-6 [\u0026amp;_h4]:text-t8 [\u0026amp;_ul]:!mt-0 [\u0026amp;_ul]:mb-6 [\u0026amp;_ul:last-child]:mb-0 [\u0026amp;_ol]:!mt-0 [\u0026amp;_ol]:mb-6 [\u0026amp;_ol:last-child]:mb-0 [\u0026amp;_p]:!mt-0 [\u0026amp;_p]:mb-6 [\u0026amp;_p:last-child]:mb-0 border-partners-highlight\"\u003e\n\u003cp\u003eLearn how \u003ca href=\"https://apps.shopify.com/heyday?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eHeyday\u003c/a\u003e addressed a functionality gap and established a differentiated value proposition to successfully launch their \u003ca href=\"/ng/partners/blog/self-serve-app?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\" title=\"self-serve app\"\u003eself-serve app\u003c/a\u003e on the Shopify App Store in 2020.\u003c/p\u003e\n\u003c/div\u003e\n\u003cp\u003eThere’s no one correct way to differentiate your app’s value proposition. Nath says he got to know where gaps in his chosen vertical existed by analyzing the reviews of other apps to understand what challenges were going unaddressed. This work helped Nath understand what underserved areas their app could address, and what their users’ expectations would be.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e“It took me a whole day, but it was worth it because now I knew clearly what merchants gave five-star reviews for, and also what they hated,” he said.\u003c/p\u003e\n\u003cp\u003eIt’s important to remember that you’re not bringing merchants any value if you just create a copycat app. Without adding a significant, unique, or new improvement, your app won’t stand out. It’s also an ethical issue and you could be in violation of copyright.\u003c/p\u003e\n\u003cblockquote class=\"border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [\u0026amp;_p]:mb-4 [\u0026amp;_cite]:font-aktivgroteskextended [\u0026amp;_cite]:text-sm [\u0026amp;_cite]:not-italic [\u0026amp;_cite]:font-medium [\u0026amp;_cite]:tracking-[-0.0175rem] [\u0026amp;_footer]:mt-4 [\u0026amp;_cite::before]:content-[\u0026quot;–\u0026quot;] [\u0026amp;_cite::before]:mr-1 border-partners-highlight\"\u003e\"It’s important to remember that you’re not bringing merchants any value if you just create a copycat app. Without adding a significant, unique, or new improvement, your app won’t stand out. It’s also an ethical issue and you could be in violation of copyright.\"\u003c/blockquote\u003e\n\u003ch4\u003e2. How is your target market trying to solve this problem right now?\u003c/h4\u003e\n\u003cp\u003eThe fastest and best way to understand how your target market is trying to solve this problem is by talking to real merchants. The good news is that it’s easier than you might think.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eOnce Nath and Jonna had identified the right communities to join to learn from, and connect with merchants, they connected with them directly to learn how they were already trying to solve their problems.\u003c/p\u003e\n\u003cp\u003e“Just reach out to five of these people you see on Shopify Facebook groups, subreddits, or the forum and ask them, ‘Do you need this app? If not, why? If yes, what do you need it for?’ That will open up Pandora's box of qualitative information for you,” Nath says.\u003c/p\u003e\n\u003cp\u003eTaking the time to speak with your target users can teach you not only what their problems are, but also what they feel constitutes a solution.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eFor example, the merchant could already be paying someone to take care of the problem for them, which can be expensive or may not fulfill their needs. Sometimes merchants won’t necessarily consider outsourced work a \u003ca href=\"/ng/partners/blog/build-apps-that-address-merchant-pain-points\" title=\"build apps that address merchant pain points\"\u003epain point\u003c/a\u003e, because it’s a task that is already being handled. This is important to consider because you may have to investigate deeper and ask specific, nuanced questions to truly understand both the problem and how your app aligns with the user’s needs.\u003c/p\u003e\n\u003cp\u003eFurthermore, if you’re considering building a custom app for one merchant to solve their unique needs, investigate whether it would be applicable to more merchants in the same industry or with similar traits. There’s a good chance you could better serve a broader market with similar challenges by publishing a public app in the \u003ca href=\"https://apps.shopify.com?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify App Store\u003c/a\u003e.\u0026nbsp;\u003c/p\u003e\n\u003ch4\u003e3. Are merchants willing to pay for a solution to this problem?\u0026nbsp;\u003c/h4\u003e\n\u003cp\u003eFiguring out whether you can make money with your app idea is the next piece of the puzzle.\u003c/p\u003e\n\u003cp\u003e“If you're looking to build a free app, just to get a feel of the ecosystem, that’s fine,” Nath says. “But if you want to build your app into a product or business that replaces your salary, you need to know if people are willing to pay for it.”\u003c/p\u003e\n\u003cblockquote class=\"border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [\u0026amp;_p]:mb-4 [\u0026amp;_cite]:font-aktivgroteskextended [\u0026amp;_cite]:text-sm [\u0026amp;_cite]:not-italic [\u0026amp;_cite]:font-medium [\u0026amp;_cite]:tracking-[-0.0175rem] [\u0026amp;_footer]:mt-4 [\u0026amp;_cite::before]:content-[\u0026quot;–\u0026quot;] [\u0026amp;_cite::before]:mr-1 border-partners-highlight\"\u003e\n\u003cp\u003eIf you want to build your app into a product or business that replaces your salary, you need to know if people are willing to pay for it.\u003c/p\u003e\n\u003cfooter\u003e\u003ccite\u003ePreetam Nath, Co-founder and CEO, DelightChat\u003c/cite\u003e\u003c/footer\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eThe best way to find out is to discover if people are already using existing solutions, and if so, how much they are paying for them.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e“That price point fundamentally changes your business,” Nath says. “As we were building DelightChat, we were very cognizant that we wanted to be in this $100-$200 price range, where we are serving merchants whose businesses are at a certain level.”\u003c/p\u003e\n\u003cp\u003eMany apps offer a free version and/or a free trial so merchants can try out its various features to see if it’s the right fit for their needs.\u003c/p\u003e\n\u003cp\u003eAs discussed above, if your target audience isn’t already using an app or software to solve the problem you’re considering, they could also be hiring freelancers, paying someone part-time to manually work on the issue, or have even hired a full-time employee. How much are they paying for that solution? Would they be willing to pay instead for your app? This is where you’ll have to ask merchants in forums and direct conversations to learn more about their stop-gap solutions.\u003c/p\u003e\n\u003ch4\u003e4. Do you have the expertise and time to build this app?\u003c/h4\u003e\n\u003cp\u003eOnce you take all merchant insights, industry trends, and current opportunities into consideration, and have researched your target market, you need to decide if what you want to build—and by when—is possible. There are varying degrees of complexity behind an app and you want to be sure that your timeline for building is realistic.\u003c/p\u003e\n\u003cp\u003e“Some apps might take you a year to build if you're a one-person team, and some apps can be built in two weeks as a solo person,” Nath says. “You need to pick problems you can solve. Otherwise, you're just setting yourself up for failure. ”\u003c/p\u003e\n\u003cblockquote class=\"border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [\u0026amp;_p]:mb-4 [\u0026amp;_cite]:font-aktivgroteskextended [\u0026amp;_cite]:text-sm [\u0026amp;_cite]:not-italic [\u0026amp;_cite]:font-medium [\u0026amp;_cite]:tracking-[-0.0175rem] [\u0026amp;_footer]:mt-4 [\u0026amp;_cite::before]:content-[\u0026quot;–\u0026quot;] [\u0026amp;_cite::before]:mr-1 border-partners-highlight\"\u003e\n\u003cp\u003eSome apps might take you a year to build if you're a one-person team, and some apps can be built in two weeks as a solo person. You need to pick problems you can solve. Otherwise, you're just setting yourself up for failure.\u003c/p\u003e\n\u003cfooter\u003e\u003ccite\u003ePreetam Nath, Co-founder and CEO, DelightChat\u003c/cite\u003e\u003c/footer\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eWe’ll dive deeper into how to build a Shopify app in the Tools and Resources section of this guide.\u003c/p\u003e\n\u003cp\u003eIf you decide to build a Shopify app with a higher price point, merchants will expect a high-quality app with more features. That being said, remember that your app doesn’t need to have every single feature to be high value. Your users will give you feedback on your MVP, which you can use to improve your app over time and build the features they truly want.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [\u0026amp;_h2]:!mt-0 [\u0026amp;_h2]:mb-6 [\u0026amp;_h2]:text-t5 [\u0026amp;_h3]:!mt-0 [\u0026amp;_h3]:mb-6 [\u0026amp;_h3]:text-t7 [\u0026amp;_h4]:!mt-0 [\u0026amp;_h4]:mb-6 [\u0026amp;_h4]:text-t8 [\u0026amp;_ul]:!mt-0 [\u0026amp;_ul]:mb-6 [\u0026amp;_ul:last-child]:mb-0 [\u0026amp;_ol]:!mt-0 [\u0026amp;_ol]:mb-6 [\u0026amp;_ol:last-child]:mb-0 [\u0026amp;_p]:!mt-0 [\u0026amp;_p]:mb-6 [\u0026amp;_p:last-child]:mb-0 border-partners-highlight\"\u003e\n\u003cp\u003e\u003cstrong\u003eRecap: Four questions to answer when validating your app idea\u003c/strong\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eIs your app idea solving a real problem?\u003c/li\u003e\n\u003cli\u003eHow is your target market trying to solve this problem right now?\u003c/li\u003e\n\u003cli\u003eIs this a problem people are willing to pay to solve?\u003c/li\u003e\n\u003cli\u003eDo you have the necessary expertise and time to build the app?\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/div\u003e\n\u003ch3 id=\"right-reasons\"\u003eBuilding for the right reasons\u003c/h3\u003e\n\u003cp\u003eNow that you know how to validate an app idea that is driven by the business opportunity of building with Shopify, you’re ready to dive into the app design principles and key resources you can use to design your Shopify app.\u003c/p\u003e\n\u003ch4\u003eAdditional resources\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ng/partners/blog/build-apps-that-address-merchant-pain-points\" title=\"Build apps that address merchant pain points\"\u003eWhy You Should Build Apps That Address Merchant Pain Points \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ng/partners/blog/how-to-do-a-competitive-analysis\" title=\"How to do a competitive analysis\"\u003eHow to do a Competitive Analysis That Drives Results for Your Clients \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ng/partners/blog/shopify-app-challenge\" title=\"Shopify app challenge\"\u003eIntroducing the Shopify App Challenge: Commerce and COVID-19 \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ng/partners/blog/market-research-app\" title=\"Market research app\"\u003eResearch 101: How to Conduct Market Research for Your App \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eGuide: \u003ca href=\"/ng/partners/blog/shopify-app-store-downloads#research\" title=\"Shopify App Store downloads\"\u003eHow to Get More App Downloads in the Shopify App Store \u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"consider-design\"\u003e3. What to consider as you design your Shopify app\u003c/h2\u003e\n\u003cp\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-what-to-consider.jpg?v=1614176453\" alt=\"How to build a Shopify app: Illustration of two people. One is looking at a fold-out instruction card and the other has their arms stretched out holding a measuring tape. Both are looking at the instructions.\" loading=\"lazy\"\u003e\u003c/p\u003e\n\u003cp\u003eDesigning an app that integrates seamlessly into a merchant’s online store makes the user experience (UX) more familiar and appealing, and the user interface (UI) more intuitive. The design principles you incorporate into your app not only represent your user’s brand, but their values as well. The more user friendly, accessible, and beautiful your app is, the more likely you will have happier customers and higher retention rates.\u003c/p\u003e\n\u003cp\u003eIn this section, we’ll dive into what factors you need to consider as you design your Shopify app, and the tools that can make designing your app easier and faster.\u003c/p\u003e\n\u003cdiv data-sanitized-data-partners-signup=\"app_developer\" data-partners-signup=\"app_developer\"\u003e\u003c/div\u003e\n\u003ch3 id=\"polaris-getting-started\"\u003eGetting started with Polaris\u003c/h3\u003e\n\u003cfigure\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-polaris-v-6.jpg?v=1614176541\" alt=\"How to build a Shopify app: Polaris – Our design system helps us work together to build a great experience for all of Shopify's merchants.\" loading=\"lazy\"\u003e\n\u003cfigcaption\u003eThe recent launch of \u003ca href=\"https://polaris.shopify.com/whats-new/whats-new?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris v6.0.0\u003c/a\u003e offers a refreshed color palette, icons, as well as a reduction to our bundle size and additional accessibility features.\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003cp\u003e\u003ca href=\"https://polaris.shopify.com?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris\u003c/a\u003e is Shopify’s open-source design system used internally and by third-party developers to design and build apps that seamlessly integrate into a merchant’s store. Polaris helps speed up the design process and adheres to web accessibility standards, while creating an app experience that is familiar to users.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eWhile we recommend you build an app within the Shopify Admin, you can use Polaris regardless of whether your app is embedded within the Shopify Admin or operates outside of it.\u003c/p\u003e\n\u003cp\u003e“From a front-end developer’s perspective, one of the things I always hone in on is the usefulness of Polaris,” says Jennifer Gray, a front-end developer at Shopify. “If you want to move forward with an embedded app, which is what we encourage, Polaris gives that seamless user experience.”\u003c/p\u003e\n\u003cp\u003ePolaris components speed up your development process because you don’t have to build custom UI elements. Polaris components are pre-built, flexible, and easy to implement, so you can create a positive UX even if design isn’t your strong suit.\u003c/p\u003e\n\u003cp\u003ePolaris components are a collection of interface elements that can be used across your app. They include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eColors\u003c/li\u003e\n\u003cli\u003eTypography\u003c/li\u003e\n\u003cli\u003eIllustrations\u003c/li\u003e\n\u003cli\u003eIcons\u003c/li\u003e\n\u003cli\u003eInteraction states\u003c/li\u003e\n\u003cli\u003eSpacing\u003c/li\u003e\n\u003c/ul\u003e\n\u003cfigure\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-screenshot-of-polaris-page-component.jpg?v=1614176624\" alt=\"How to build a Shopify app: Screenshot of a Polaris Page component in the Admin demonstrating how a three-quarter-inch leather pet collar product would appear.\" loading=\"lazy\"\u003e\n\u003cfigcaption\u003eThe \u003ca href=\"https://polaris.shopify.com/components/structure/page?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#all-examples\"\u003ePolaris Page component\u003c/a\u003e is one of the most commonly used and is highly customizable.\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003cp\u003eLeveraging common conventions allows your app to look like it “belongs” in the Shopify Admin. Your users won’t need to learn to navigate a new UI if you make use of conventions they’re already familiar with. Polaris conventions also take accessibility into consideration.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [\u0026amp;_h2]:!mt-0 [\u0026amp;_h2]:mb-6 [\u0026amp;_h2]:text-t5 [\u0026amp;_h3]:!mt-0 [\u0026amp;_h3]:mb-6 [\u0026amp;_h3]:text-t7 [\u0026amp;_h4]:!mt-0 [\u0026amp;_h4]:mb-6 [\u0026amp;_h4]:text-t8 [\u0026amp;_ul]:!mt-0 [\u0026amp;_ul]:mb-6 [\u0026amp;_ul:last-child]:mb-0 [\u0026amp;_ol]:!mt-0 [\u0026amp;_ol]:mb-6 [\u0026amp;_ol:last-child]:mb-0 [\u0026amp;_p]:!mt-0 [\u0026amp;_p]:mb-6 [\u0026amp;_p:last-child]:mb-0 border-partners-highlight\"\u003e\n\u003cp\u003eAs you build your Shopify app, keep the \u003ca href=\"https://polaris.shopify.com/foundations/experience-values?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify experience values\u003c/a\u003e in mind:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eConsiderate:\u003c/strong\u003e Be thoughtful about how your users will access your app, including their device, language, geography, and accessibility needs.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEmpowering:\u003c/strong\u003e Shopify merchants have a wide range of skill levels, needs, goals, and experiences. Optimize your app for the most important tasks by removing unnecessary complexity, but give your users access to additional features if they need it.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eCrafted:\u003c/strong\u003e A beautiful app is only as good as its ability to help users solve a problem. Paying attention to thoughtful details or design considerations can make or break the user experience.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eEfficient:\u003c/strong\u003e Keep your design and tasks simple and clear. Users should be able to complete actions quickly, accurately, and easily.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eTrustworthy:\u003c/strong\u003e Be transparent about what your app can and cannot do. A trustworthy app demonstrates to users that its developers are acting in their best interests. This is reflected holistically in the app’s UX and UI.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFamiliar: \u003c/strong\u003eWhen people feel comfortable using digital products, they can focus on the task at hand, rather than trying to navigate a complicated UI. Use familiar patterns so the UX is straightforward and intuitive.\u0026nbsp;\u003c/p\u003e\n\u003c/div\u003e\n\u003cp\u003eWhile Polaris gives both designers and developers the tools they need to design a beautiful and functional Shopify app, that doesn’t mean you can’t apply some of your own creativity to the design process.\u003c/p\u003e\n\u003cp\u003eThe unique needs of your users should always be your main priority when designing your Shopify app—you are free to add custom components that should also feel right at home in the Shopify Admin.\u003c/p\u003e\n\u003cp\u003eShopify Partner \u003ca href=\"/ng/partners/blog/shopify-commerce-awards-past-winners?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\" title=\"Shopify Commerce Awards past winners – Pledgeling\"\u003ePledgeling\u003c/a\u003e won a 2017 Shopify Commerce Award for \u003ca href=\"/ng/partners/blog/shopify-commerce-awards-2017-winners?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#polaris\" title=\"Shopify Commerce Awards Best App Design Using Polaris\"\u003eBest App Design Using Polaris\u003c/a\u003e, where they were recognized by the judges for their Polaris design. They also added custom components that their users needed, while keeping the UX and UI consistent with Polaris principles.\u003c/p\u003e\n\u003cfigure\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-pledgelings-give-and-grow-donation-app.jpg?v=1614176857\" alt=\"How to build a Shopify app: Screenshot of Give \u0026amp; Grow app dashboard includes introduction text, navigation controls, and a 'Get started' button.\" loading=\"lazy\"\u003e\n\u003cfigcaption\u003ePledgeling’s \u003ca href=\"https://apps.shopify.com/give-grow?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eGive \u0026amp; Grow Donations\u003c/a\u003e app won the 2017 Shopify Commerce Award for \u003ca href=\"/ng/partners/blog/shopify-commerce-awards-2017-winners?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#polaris\" title=\"Shopify Commerce Awards Best App Design Using Polaris\"\u003eBest App Design Using Polaris\u003c/a\u003e.\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003cp\u003ePolaris ensures your app will fit seamlessly into a merchant’s work. Take some time to review the \u003ca href=\"https://polaris.shopify.com/design/polaris-is-changing?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris documentation\u003c/a\u003e, which covers everything from design guidelines, accessibility considerations, internationalization, and information architecture.\u003c/p\u003e\n\u003cblockquote class=\"border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [\u0026amp;_p]:mb-4 [\u0026amp;_cite]:font-aktivgroteskextended [\u0026amp;_cite]:text-sm [\u0026amp;_cite]:not-italic [\u0026amp;_cite]:font-medium [\u0026amp;_cite]:tracking-[-0.0175rem] [\u0026amp;_footer]:mt-4 [\u0026amp;_cite::before]:content-[\u0026quot;–\u0026quot;] [\u0026amp;_cite::before]:mr-1 border-partners-highlight\"\u003e\n\u003cp\u003eIf app developers don’t have a designer on their team, Polaris is exactly the tool they should be using.\u003c/p\u003e\n\u003cfooter\u003e\u003ccite\u003eJennifer Gray, Shopify Front-end Developer\u003c/cite\u003e\u003c/footer\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e“If app developers don’t have a designer on their team, Polaris is exactly the tool they should be using,” Gray says.\u003c/p\u003e\n\u003cp\u003ePolaris is an evolving design framework. The recent launch of \u003ca href=\"https://polaris.shopify.com/whats-new/whats-new?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris v6.0.0\u003c/a\u003e offers refreshed visual styles with a new color system, rebuilt, high-quality components, a reduction to bundle size, and additional accessibility features among many other feature updates.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [\u0026amp;_h2]:!mt-0 [\u0026amp;_h2]:mb-6 [\u0026amp;_h2]:text-t5 [\u0026amp;_h3]:!mt-0 [\u0026amp;_h3]:mb-6 [\u0026amp;_h3]:text-t7 [\u0026amp;_h4]:!mt-0 [\u0026amp;_h4]:mb-6 [\u0026amp;_h4]:text-t8 [\u0026amp;_ul]:!mt-0 [\u0026amp;_ul]:mb-6 [\u0026amp;_ul:last-child]:mb-0 [\u0026amp;_ol]:!mt-0 [\u0026amp;_ol]:mb-6 [\u0026amp;_ol:last-child]:mb-0 [\u0026amp;_p]:!mt-0 [\u0026amp;_p]:mb-6 [\u0026amp;_p:last-child]:mb-0 border-partners-highlight\"\u003e\n\u003cp\u003eExplore some examples of standalone apps \u003ca href=\"https://github.com/Shopify/polaris-react/tree/master/examples?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eusing Polaris as the UI component library on GitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n\u003ch3 id=\"accessibility-principles\"\u003eThe best app design embraces accessibility principles\u003c/h3\u003e\n\u003cp\u003eInclusive, accessible, and usable design are three principles that intersect when it comes to creating a digital product that everyone can use with ease. “Everyone” is a lot of people, with varying experiences and abilities, but it is possible to build a Shopify app that is inclusive, accessible, and usable to all.\u003c/p\u003e\n\u003cp\u003eApps with the best UX and UI are inclusive and accessible by design. \u003ca href=\"/ng/partners/blog/inclusive-design?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\" title=\"inclusive design\"\u003eInclusive design\u003c/a\u003e considers the needs of all users, and benefits all users, regardless of their abilities.\u003c/p\u003e\n\u003cp\u003eThree key factors that contribute to a high-quality, accessible UX are:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eA UX/UI design that is both functional and beautiful\u003c/li\u003e\n\u003cli\u003eConsistent and helpful \u003ca href=\"https://polaris.shopify.com/content/product-content?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#navigation\"\u003ecopy\u003c/a\u003e that thoughtfully uses clear, plain language\u003c/li\u003e\n\u003cli\u003eActively incorporates principles of \u003ca href=\"http://universaldesign.ie/What-is-Universal-Design/\"\u003euniversal design\u003c/a\u003e and inclusivity\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eWe’ve already covered how to ensure your app is functional and aligns to the look and feel of your merchant’s work by following the Polaris design principles. Let’s explore the next two topics more in depth.\u003c/p\u003e\n\u003ch4\u003eYour app copy: write for everyone\u003c/h4\u003e\n\u003cp\u003eDesigning a visually beautiful and functional app is a great start. It’s equally important that all the language you use to describe how to use your app is easy to understand. This means using straightforward language free from jargon or phrases that could confuse someone who is unfamiliar with the topic or the language itself.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eAs of January 2020, English was the most popular language online, representing about \u003ca href=\"https://www.statista.com/statistics/262946/share-of-the-most-common-languages-on-the-internet/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003e26 percent\u003c/a\u003e of total internet users worldwide, followed by Chinese at 19 percent.\u003c/p\u003e\n\u003cfigure\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-graph-of-top-10-languages-used-on-internet.jpg?v=1614176938\" alt=\"How to build a Shopify app: Horizontal bar chart. English, 25.9%. Chinese, 19.4%. Spanish, 7.9%. Arabic, 5.2%. Indonesian/Malaysian, 4.3%. Portuguese, 3.7%. French, 3.3%. Japanese, 2.6%. Russian, 2.5%. German, 2%. Rest of languages, 23.1%.\" loading=\"lazy\"\u003e\n\u003cfigcaption\u003eThe top 10 languages used on the internet account for 77 percent of global internet users as of January 2020, according to \u003ca href=\"https://www.statista.com/statistics/262946/share-of-the-most-common-languages-on-the-internet/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003erecent research by Statista\u003c/a\u003e.\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003cp\u003eConsider both your target user and your future potential growth users—it’s a good idea to make language a top priority within your app design. Learning \u003ca href=\"/ng/partners/blog/multilingual-shopify-apps?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\" title=\"How to build multilingual Shopify apps\"\u003ehow to build multilingual Shopify apps\u003c/a\u003e will give you a competitive advantage.\u003c/p\u003e\n\u003cp\u003eThe Polaris content guidelines considers plain language to be at a United States Grade 7 reading level. There are many tools you can use to check if your content is grammatically correct and easily understandable. Many of these tools also can tell you the readability level.\u003c/p\u003e\n\u003cp\u003eHere are three content tools you can use to get started:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ca href=\"http://www.hemingwayapp.com/\"\u003eHemingway App\u003c/a\u003e (free)\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://www.grammarly.com/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eGrammarly\u003c/a\u003e (free and paid subscriptions)\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://readable.com/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eReadable\u003c/a\u003e (paid, tiered, annual subscriptions)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWe’ll further explore the nuances of how to write for a global audience in the Internationalization section below.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [\u0026amp;_h2]:!mt-0 [\u0026amp;_h2]:mb-6 [\u0026amp;_h2]:text-t5 [\u0026amp;_h3]:!mt-0 [\u0026amp;_h3]:mb-6 [\u0026amp;_h3]:text-t7 [\u0026amp;_h4]:!mt-0 [\u0026amp;_h4]:mb-6 [\u0026amp;_h4]:text-t8 [\u0026amp;_ul]:!mt-0 [\u0026amp;_ul]:mb-6 [\u0026amp;_ul:last-child]:mb-0 [\u0026amp;_ol]:!mt-0 [\u0026amp;_ol]:mb-6 [\u0026amp;_ol:last-child]:mb-0 [\u0026amp;_p]:!mt-0 [\u0026amp;_p]:mb-6 [\u0026amp;_p:last-child]:mb-0 border-partners-highlight\"\u003e\n\u003cp\u003eHelpful \u003ca href=\"https://polaris.shopify.com/content/product-content?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#navigation\"\u003etips\u003c/a\u003e from the Polaris content guidelines:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrite short sentences (ideally less than 15-20 words).\u003c/li\u003e\n\u003cli\u003eMake your content scannable using headings and bullets.\u003c/li\u003e\n\u003cli\u003eAlways choose a short, simple word over a long and complicated one.\u003c/li\u003e\n\u003cli\u003eThink about translations. Avoid idioms and phrases with indirect or ironic meanings.\u003c/li\u003e\n\u003cli\u003eAvoid jargon. Only use industry-standard terms when you have reason to believe it will improve understanding. Spend time researching what words people actually use, instead of defaulting to what corporations call things.\u003c/li\u003e\n\u003cli\u003eEdit out unnecessary or repeated words.\u003c/li\u003e\n\u003cli\u003eWrite for small screens first. These constraints can help you focus on the most important message.\u003c/li\u003e\n\u003cli\u003eRead your content out loud. If you get tripped up or it doesn’t sound like something a human would say, your content needs to be revised.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/div\u003e\n\u003cp\u003eNow that you have a solid grasp on how to write content within your app, let’s break down what it means to design your app to be inclusive and accessible.\u003c/p\u003e\n\u003ch4\u003eDesigning for accessibility, usability, and inclusion\u003c/h4\u003e\n\u003cp\u003eAs your app scales and grows, it’s important that it remains inclusive, accessible, and usable to Shopify’s millions of merchants. Each of those users have unique needs, so learning now how to support those needs will make scaling your app easier in the future. To that end, here are three design considerations to keep in mind:\u003c/p\u003e\n\u003ch5\u003e1. \u003ca href=\"https://polaris.shopify.com/foundations/accessibility?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003e\u003cstrong\u003eAccessibility\u003c/strong\u003e\u003c/a\u003e\n\u003c/h5\u003e\n\u003cp\u003e\u003ca href=\"https://polaris.shopify.com/components/get-started?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris components\u003c/a\u003e are designed to meet \u003ca href=\"https://polaris.shopify.com/foundations/accessibility?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eaccessibility\u003c/a\u003e standards and maintain a consistent experience while your app is in use. If you haven’t already done so, it’s time to consider how you define your “average” user, and whether you have designed your app in a way that considers users who have disabilities. From \u003ca href=\"/ng/partners/blog/keyboard-accessibility?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\" title=\"keyboard accessibility\"\u003ekeyboard accessibility\u003c/a\u003e to visual design elements, there’s a lot to consider.\u003c/p\u003e\n\u003cp\u003eThe World Health Organization reports that, as of December 2020, more than \u003ca href=\"https://www.who.int/news-room/fact-sheets/detail/disability-and-health\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003e1 billion people worldwide\u003c/a\u003e—about 15 percent of the global population—live with some form of disability, and the numbers are increasing. Getting familiar with \u003ca href=\"https://www.w3.org/WAI/standards-guidelines/wcag/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eWeb Content Accessibility Guidelines\u003c/a\u003e is a great starting point to learn more about accessibility standards and techniques so you can apply these principles as you build your app.\u003c/p\u003e\n\u003cp\u003e“\u003ca href=\"https://thenextweb.com/podium/2019/09/27/the-huge-cost-of-ignoring-accessibility-when-designing-your-website/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eDo not ignore accessibility\u003c/a\u003e when designing and developing your app,” says Shopify Platform Accessibility Specialist Scott Vinkle.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e“Accessibility helps to ensure an \u003ca href=\"https://www.w3.org/WAI/perspective-videos/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eassistive technology\u003c/a\u003e-friendly environment for people with disabilities,” Vinkle adds. “It also helps the aging population to use your site or app, \u003ca href=\"https://www.deque.com/blog/seo-and-accessibility-real-talk/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eincreases SEO\u003c/a\u003e, and decreases \u003ca href=\"https://blog.usablenet.com/a-record-breaking-year-for-ada-digital-accessibility-lawsuits\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eaccessibility-related lawsuits\u003c/a\u003e. Provide people with disabilities an equal opportunity to unlock the power of commerce.”\u003c/p\u003e\n\u003cblockquote class=\"border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [\u0026amp;_p]:mb-4 [\u0026amp;_cite]:font-aktivgroteskextended [\u0026amp;_cite]:text-sm [\u0026amp;_cite]:not-italic [\u0026amp;_cite]:font-medium [\u0026amp;_cite]:tracking-[-0.0175rem] [\u0026amp;_footer]:mt-4 [\u0026amp;_cite::before]:content-[\u0026quot;–\u0026quot;] [\u0026amp;_cite::before]:mr-1 border-partners-highlight\"\u003e\n\u003cp\u003eProvide people with disabilities an equal opportunity to unlock the power of commerce.\u003c/p\u003e\n\u003cfooter\u003e\u003ccite\u003eScott Vinkle, Shopify Platform Accessibility Specialist\u003c/cite\u003e\u003c/footer\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eKeep these core principles of accessibility in mind when creating your app:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCan the user \u003ca href=\"https://www.w3.org/WAI/fundamentals/accessibility-principles/#perceivable\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eperceive\u003c/a\u003e the content? People must be able to observe and identify content using one of the senses available to them.\u003c/li\u003e\n\u003cli\u003eCan the user \u003ca href=\"https://www.w3.org/WAI/fundamentals/accessibility-principles/#operable\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eoperate\u003c/a\u003e the user interface? People must be able to complete tasks using the input device that works best for them, such as a mouse or touchpad, keyboard, touchscreen, screen reader, voice dictation software, etc.\u003c/li\u003e\n\u003cli\u003eCan the user \u003ca href=\"https://www.w3.org/WAI/fundamentals/accessibility-principles/#understandable\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eunderstand\u003c/a\u003e the content? Create content and user interfaces that people can comprehend. Use simple language, supplied in the correct language, in a consistent user experience.\u003c/li\u003e\n\u003cli\u003eIs the content \u003ca href=\"https://www.w3.org/WAI/fundamentals/accessibility-principles/#robust\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003erobust\u003c/a\u003e? Provide support for various devices and assistive technologies. Use standards based, semantic HTML and ARIA \u003ca href=\"https://www.w3.org/TR/using-aria/#firstrule\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003ewhere required\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVinkle says it’s important to apply these principles and \u003ca href=\"https://scottvinkle.me/blogs/work/testing-with-screen-readers\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003etest with assistive technology\u003c/a\u003e.\u0026nbsp;\u003c/p\u003e\n\u003cblockquote class=\"border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [\u0026amp;_p]:mb-4 [\u0026amp;_cite]:font-aktivgroteskextended [\u0026amp;_cite]:text-sm [\u0026amp;_cite]:not-italic [\u0026amp;_cite]:font-medium [\u0026amp;_cite]:tracking-[-0.0175rem] [\u0026amp;_footer]:mt-4 [\u0026amp;_cite::before]:content-[\u0026quot;–\u0026quot;] [\u0026amp;_cite::before]:mr-1 border-partners-highlight\"\u003e\n\u003cp\u003eWiden the usability of your app to include even more people. This has the potential to increase positive reviews and revenue generated by your app.\u003c/p\u003e\n\u003cfooter\u003e\u003ccite\u003eScott Vinkle, Shopify Platform Accessibility Specialist\u003c/cite\u003e\u003c/footer\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e“Widen the usability of your app to include even more people” he says. “This has the potential to increase positive reviews and revenue generated by your app.”\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [\u0026amp;_h2]:!mt-0 [\u0026amp;_h2]:mb-6 [\u0026amp;_h2]:text-t5 [\u0026amp;_h3]:!mt-0 [\u0026amp;_h3]:mb-6 [\u0026amp;_h3]:text-t7 [\u0026amp;_h4]:!mt-0 [\u0026amp;_h4]:mb-6 [\u0026amp;_h4]:text-t8 [\u0026amp;_ul]:!mt-0 [\u0026amp;_ul]:mb-6 [\u0026amp;_ul:last-child]:mb-0 [\u0026amp;_ol]:!mt-0 [\u0026amp;_ol]:mb-6 [\u0026amp;_ol:last-child]:mb-0 [\u0026amp;_p]:!mt-0 [\u0026amp;_p]:mb-6 [\u0026amp;_p:last-child]:mb-0 border-partners-highlight\"\u003e\n\u003cp\u003eHere are five assistive technology testing tools and insightful resources to help improve overall accessibility and app quality:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ca href=\"https://www.paciellogroup.com/resources/contrastanalyser/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eColor Contrast Analyzer\u003c/a\u003e: Check the legibility and contrast of your app design elements using this app for Mac and Windows\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://colororacle.org/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eColor Oracle\u003c/a\u003e: Simulate color blindness using this app available for Mac, Windows, and Linux\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://github.com/getflourish/Sketch-Color-Contrast-Analyser\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eSketch Color Contrast Analyzer\u003c/a\u003e: Ensure your designs meet color contrast recommendations from within Sketch\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://www.microsoft.com/en-us/design/inclusive\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eInclusive Design at Microsoft\u003c/a\u003e: Learn and follow accessibility best practices with Microsoft’s inclusive design principles\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://accessibilityinsights.io/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eAccessibility Insights\u003c/a\u003e: Solve accessibility issues before they reach merchants using this automated accessibility testing tool.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/div\u003e\n\u003ch5\u003e2. \u003ca href=\"https://polaris.shopify.com/foundations/internationalization?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eInternationalization\u003c/a\u003e\n\u003c/h5\u003e\n\u003cp\u003eBuilding an interface that works no matter where in the world your users are located not only increases your global market reach, it also creates a better overall UX.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eBe sure to plan for:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCultural differences: From your icons to your images to your content, localizing your app means not only translating to the local language, but also adapting to regional differences and being mindful of potentially confusing or offensive content\u003c/li\u003e\n\u003cli\u003eText expansion: Translating your app text can expand it and take up more space, so your interface needs built-in flexibility to accommodate language-specific formatting, as it can vary greatly between languages\u003c/li\u003e\n\u003cli\u003eChanges in word order: It’s safe to assume the word order of every sentence in your UI will change when translated, so it’s best to avoid using UI components to build sentences and only use \u003ca href=\"https://ux.shopify.com/how-to-concatenate-localized-strings-mindfully-bcc7b6d4961a?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003econcatenated strings mindfully\u003c/a\u003e, or not at all\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eGet familiar with the \u003ca href=\"https://polaris.shopify.com/foundations/internationalization?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris foundations of internationalization\u003c/a\u003e so that you can create an exceptional UX no matter where your users are located.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [\u0026amp;_h2]:!mt-0 [\u0026amp;_h2]:mb-6 [\u0026amp;_h2]:text-t5 [\u0026amp;_h3]:!mt-0 [\u0026amp;_h3]:mb-6 [\u0026amp;_h3]:text-t7 [\u0026amp;_h4]:!mt-0 [\u0026amp;_h4]:mb-6 [\u0026amp;_h4]:text-t8 [\u0026amp;_ul]:!mt-0 [\u0026amp;_ul]:mb-6 [\u0026amp;_ul:last-child]:mb-0 [\u0026amp;_ol]:!mt-0 [\u0026amp;_ol]:mb-6 [\u0026amp;_ol:last-child]:mb-0 [\u0026amp;_p]:!mt-0 [\u0026amp;_p]:mb-6 [\u0026amp;_p:last-child]:mb-0 border-partners-highlight\"\u003e\n\u003cp\u003eLearn more about the principles that will help you build a truly internationalized app in our in-depth blog post: \u003ca href=\"/ng/partners/blog/internationalization?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\" title=\"Internationalization\"\u003eInternationalization: Practical Tips to Build for a Global Audience\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n\u003ch5\u003e3. \u003ca href=\"https://polaris.shopify.com/foundations/information-architecture?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eInformation architecture (IA)\u003c/a\u003e\n\u003c/h5\u003e\n\u003cp\u003eYour \u003ca href=\"https://polaris.shopify.com/foundations/information-architecture?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003einformation architecture\u003c/a\u003e (IA) is the way you organize, structure, and label all your content, with the goal of helping your users find the information they need and to complete tasks efficiently. Effective IA:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSimplifies complexity\u003c/li\u003e\n\u003cli\u003eSupports scalability\u003c/li\u003e\n\u003cli\u003eCreates familiarity\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eGetting familiar with the \u003ca href=\"https://polaris.shopify.com/foundations/information-architecture?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris IA principles\u003c/a\u003e will help guide you through the process of making good IA decisions, no matter what project you’re working on. Keeping your app organized and straightforward prevents user confusion, especially if your app is more complex.\u003c/p\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [\u0026amp;_h2]:!mt-0 [\u0026amp;_h2]:mb-6 [\u0026amp;_h2]:text-t5 [\u0026amp;_h3]:!mt-0 [\u0026amp;_h3]:mb-6 [\u0026amp;_h3]:text-t7 [\u0026amp;_h4]:!mt-0 [\u0026amp;_h4]:mb-6 [\u0026amp;_h4]:text-t8 [\u0026amp;_ul]:!mt-0 [\u0026amp;_ul]:mb-6 [\u0026amp;_ul:last-child]:mb-0 [\u0026amp;_ol]:!mt-0 [\u0026amp;_ol]:mb-6 [\u0026amp;_ol:last-child]:mb-0 [\u0026amp;_p]:!mt-0 [\u0026amp;_p]:mb-6 [\u0026amp;_p:last-child]:mb-0 border-partners-highlight\"\u003e\n\u003cp\u003eFor more information about IA and how to get started, check out our recent blog post: \u003ca href=\"/ng/partners/blog/information-architecture?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\" title=\"Information architecture\"\u003eAn Introduction to Information Architecture\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n\u003ch3 id=\"merchant-in-mind\"\u003eApp design with the merchant in mind\u003c/h3\u003e\n\u003cp\u003eA clean app design with accessible UX and clear language is crucial for building an app merchants love. Your users interact with the web, apps, and dashboards on a daily basis, so they’ll have high expectations for how your app will integrate and interact with their online store.\u003c/p\u003e\n\u003cp\u003eNow that you have a grasp of how app design principles influence your users’ experience, you’re ready to start building your app.\u003c/p\u003e\n\u003ch4\u003eAdditional resources:\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ng/partners/blog/building-apps\" title=\"building apps\"\u003eBuilding Apps: 3 Things we Learned in Making Design Consistent and Scalable \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ng/partners/blog/prototyping\" title=\"prototyping\"\u003e10 Myths About Prototyping, Busted \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ng/partners/blog/improve-your-design-process-with-these-4-deliverables\" title=\"Improve your design process with these 4 deliverables\"\u003eImprove Your Design Process With These 4 Deliverables \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ca/partners/blog/rapid-prototyping\" title=\"Rapid prototyping\"\u003eEverything You Always Wanted to Know About Rapid Prototyping \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ng/partners/blog/shopify-commerce-awards-2017-winners#polaris\" title=\"Shopify Commerce Awards 2017 winners\"\u003eAnnouncing the Winners of the 2017 Shopify Commerce Awards (Polaris) \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ng/partners/blog/keyboard-accessibility\" title=\"Shopify Commerce Awards 2017 winners\"\u003e5 Steps to Design Apps with Keyboard Accessibility in Mind \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ng/partners/blog/information-architecture\" title=\"Information architecture\"\u003eAn Introduction to Information Architecture \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDigital property: \u003ca href=\"https://polaris.shopify.com?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://polaris.shopify.com/foundations/designing-apps?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eDesigning apps for Shopify\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://polaris.shopify.com/components/get-started?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eComponent library docs\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://polaris.shopify.com/resources/resources?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris Resources\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://polaris.shopify.com/foundations/accessibility?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePolaris accessibility documentation\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003ePolaris GitHub: \u003ca href=\"https://github.com/Shopify/polaris-react?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#licenses\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eLicenses\u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"marketing-block marketing-block--blue marketing-block--padded my-12 border-l-2 pl-4 [\u0026amp;_h2]:!mt-0 [\u0026amp;_h2]:mb-6 [\u0026amp;_h2]:text-t5 [\u0026amp;_h3]:!mt-0 [\u0026amp;_h3]:mb-6 [\u0026amp;_h3]:text-t7 [\u0026amp;_h4]:!mt-0 [\u0026amp;_h4]:mb-6 [\u0026amp;_h4]:text-t8 [\u0026amp;_ul]:!mt-0 [\u0026amp;_ul]:mb-6 [\u0026amp;_ul:last-child]:mb-0 [\u0026amp;_ol]:!mt-0 [\u0026amp;_ol]:mb-6 [\u0026amp;_ol:last-child]:mb-0 [\u0026amp;_p]:!mt-0 [\u0026amp;_p]:mb-6 [\u0026amp;_p:last-child]:mb-0 border-partners-highlight\"\u003e\n\u003cp\u003eVisit our \u003ca href=\"https://shopify.dev/docs/apps/getting-started/create\"\u003edeveloper documentation at shopify.dev\u003c/a\u003e to learn how to use our developer tools to create your Shopify app.\u003c/p\u003e\n\u003c/div\u003e\n\u003ch2 id=\"submission-to-store\"\u003e4. Submission to the Shopify App Store\u003c/h2\u003e\n\u003cp\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-submission-to-the-app-store.jpg?v=1614184034\" alt=\"How to build a Shopify app: submission to the Shopify App Store. Illustration depicts an envelope with a long checklist of items cascading out of it. Items on the checklist are represented by abstract lines and circles, with arrows pointing towards different areas on the checklist.\" loading=\"lazy\"\u003e\u003c/p\u003e\n\u003cp\u003eSubmitting your app to the \u003ca href=\"https://apps.shopify.com?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eShopify App Store\u003c/a\u003e is the next step to getting it live and in the hands of the merchants who will benefit from it most.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eBefore it’s published, your app needs to be reviewed by the Shopify App Review team. The app submission and review process usually takes our partners a few weeks to complete, and includes the follow steps:\u003cbr\u003e\u003cbr\u003e1. \u003ca href=\"https://shopify.dev/apps/store/requirements\"\u003eMeeting Shopify’s technical, security, and UX requirements\u003cbr\u003e\u003c/a\u003e2. \u003ca href=\"/ca/partners/blog/shopify-app-store-downloads?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#optimize\"\u003eWriting an effective app listing\u003cbr\u003e\u003c/a\u003e3. \u003ca href=\"https://shopify.dev/apps/store/review/testing\"\u003eTesting your app for performance and bugs\u003cbr\u003e\u003c/a\u003e4. \u003ca href=\"https://shopify.dev/apps/store/review\"\u003eApplying any revisions required by our review team\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"prepare-submit\"\u003e\u003cstrong\u003ePreparing to submit your app\u003c/strong\u003e\u003c/h3\u003e\n\u003cp\u003eThe Shopify App Review Team’s goal is to get you through the review process as quickly as possible! Knowing what to expect beforehand, and understanding what information you should have ready to go, will help you move more quickly through the review stages.\u003c/p\u003e\n\u003cp\u003eFollow these three steps before you submit your app for review:\u003c/p\u003e\n\u003ch3\u003e1. Meet Shopify’s app requirements\u003c/h3\u003e\n\u003cp\u003eThere are \u003ca href=\"https://shopify.dev/concepts/app-store/getting-your-app-approved/app-requirements?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003etechnical, security, and UX requirements\u003c/a\u003e that all public apps must meet before they can be approved for the app store. Follow these requirements as you build and prepare to submit your app to ensure your app is published without hiccups.\u003c/p\u003e\n\u003cp\u003eIt’s important to note that unlisted apps need to meet the same requirements as listed apps because they are both public app types. This is important for maintaining a quality standard for merchants, but also because these public apps can change visibility at any time.\u003c/p\u003e\n\u003cp\u003eIn addition, \u003ca href=\"https://shopify.dev/apps/store/requirements#specific-requirements-for-certain-app-configurations\"\u003ecertain app configurations have additional requirements\u003c/a\u003e. These app configurations include but are not limited to:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOnline store apps\u003c/li\u003e\n\u003cli\u003eEmbedded apps\u003c/li\u003e\n\u003cli\u003eProduct sourcing apps\u003c/li\u003e\n\u003cli\u003eSales channels\u003c/li\u003e\n\u003cli\u003ePurchase Option apps\u003c/li\u003e\n\u003cli\u003eCheckout UI extension apps\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2. Write your app listing\u003c/h3\u003e\n\u003cdiv class=\"grid partners-signup\"\u003e\n\u003cdiv class=\"grid__item partners-signup__container\"\u003e\n\u003ch3 class=\"heading--4 partners-signup__heading\"\u003e[September 2022] New app listing guidelines\u003c/h3\u003e\n\u003cp class=\"partners-signup__content\"\u003eAs of September 2022, we've updated the requirements for app listings in the Shopify App Store. Some of the information in this section may be out of date. To make sure your app listing is optimized for merchant installs, please visit our documentation for the newest guidelines.\u003c/p\u003e\n\u003ca data-sanitized-target=\"_blank\" class=\"marketing-button partners-signup__cta\" href=\"https://shopify.dev/apps/store/requirements?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eVisit docs\u003c/a\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cp\u003eAll public apps—listed or unlisted—require a complete app listing for submission. Your app listing page will serve as the home of your app in the Shopify App Store. This information is your most powerful tool for convincing users that your app is the best solution for them. Because this is such a key surface, you should spend time understanding \u003ca href=\"https://shopify.dev/concepts/app-store/getting-your-app-approved/app-requirements?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#writing-a-shopify-app-store-listing\"\u003ethe requirements of your app listing\u003c/a\u003e, and \u003ca href=\"/ca/partners/blog/shopify-app-store-downloads?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app#optimize\"\u003ehow to best optimize it\u003c/a\u003e.\u0026nbsp;\u003c/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/shopify-app-listing-screenshot_600x600.png?v=1658350648\" alt=\"Shopify Inbox app listing\" loading=\"lazy\"\u003e\u003c/div\u003e\n\u003cp\u003eWhile some of these elements are optional, the more information you provide potential users, the better.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eYour app listing is a critical part of gaining new installations and users. For more in-depth guidance on creating the best listing page you can, \u003ca href=\"/ca/partners/blog/shopify-app-store-downloads?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003evisit our guide on How to Get More App Downloads in the Shopify App Store\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e3. Test your app\u003c/h3\u003e\n\u003cp\u003eOnce you’re confident your app meets the app and listing requirements above, we encourage you to ensure your app is well tested. Shopify is a complex platform, and no two merchants have the same needs or goals. Thorough testing helps catch as many errors and bugs as possible, so that your app doesn’t break when these varied merchants install it.\u003c/p\u003e\n\u003cp\u003eWhen testing your app, you want to ensure it functions correctly for your users, especially for merchants who aren’t tech-savvy.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eMore details on testing your app can be found \u003ca href=\"https://shopify.dev/concepts/app-store/getting-your-app-approved/testing-your-app-before-submitting?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ein our documentation\u003c/a\u003e. You can also read our in-depth guide on \u003ca href=\"/ca/partners/blog/user-test-app?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003euser testing your app\u003c/a\u003e on our blog.\u003c/p\u003e\n\u003ch3 id=\"submitting\"\u003e4. Submit your app\u003c/h3\u003e\n\u003cp\u003eOnce your app and listing are ready, and you’ve thoroughly tested and prepared, \u003ca href=\"https://shopify.dev/concepts/app-store/getting-your-app-approved/app-submission?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003efollow the instructions in our documentation\u003c/a\u003e to submit your app via the Partner Dashboard. The Shopify App Review Team will check to make sure that your app is a complete product and is ready to be used by a merchant the moment it’s approved for the Shopify App Store.\u003c/p\u003e\n\u003ch3 id=\"review\"\u003eThe review process\u003c/h3\u003e\n\u003cp\u003eOn average, your app will be reviewed within 7 business days of being submitted. You’ll be kept informed about progress and feedback along the way.\u003c/p\u003e\n\u003cp\u003eYou can learn more about what to expect during the approval process \u003ca href=\"https://shopify.dev/concepts/app-store/getting-your-app-approved/review-process?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ein our developer documentation\u003c/a\u003e.\u003c/p\u003e\n\u003ch3 id=\"revise\"\u003eRevisions and changes\u003c/h3\u003e\n\u003cp\u003eThe time to approval can vary from days to weeks or even months, depending on how long it takes you to resolve the issues found. It’s very common that after review, you’ll be asked to make some changes or revisions to your app. You’ll be informed via email of what needs to be updated.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eIf the necessary changes are substantial enough, your app will be rejected. Once you fix the outstanding issues, you can resubmit. However, if the changes are relatively minor, you’ll be put into contact with the review team via Zendesk to chat about your app and make the necessary updates.\u003c/p\u003e\n\u003cp\u003eOnce you’ve fixed everything that needs to be fixed, and the review team is confident that your app meets our standards, you’ll be approved, and your app will go live in the Shopify App Store. It’s time to celebrate! You’ve earned it.\u003c/p\u003e\n\u003ch4\u003eAdditional resources:\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/concepts/app-store/getting-your-app-approved/app-requirements?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eRequirements for public apps on Shopify\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/apps/store/review/testing\"\u003eTesting your app before submitting\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/concepts/app-store/getting-your-app-approved/app-submission?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eSubmitting your app\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/concepts/app-store/getting-your-app-approved/review-process?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eThe review process\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/tutorials/authenticate-with-oauth?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eAuthenticate with OAuth\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/tutorials/bill-for-your-app-using-graphql-admin-api?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eBill for your app with the GraphQL Admin API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ca/partners/blog/insights-shopify-app-review?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003e7 Insights From the Shopify App Review Team to Set Your App Up for Success\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ca/partners/blog/user-test-app?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eUser Testing Your Shopify App: Public App Use Cases You Should Test\u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"monitoring\"\u003e5. Monitoring your app: keeping performance top of mind\u003c/h2\u003e\n\u003cp\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-monitoring-your-app.jpg?v=1614184968\" alt=\"How to build a Shopify app: Monitoring your app: keeping performance top of mind. Illustration of a person looking through a telescope at a digital map of moving arrows.\" loading=\"lazy\"\u003e\u003c/p\u003e\n\u003cp\u003eBefore you launch your app, there are a few things you need to know about how to keep it healthy, secure, and high-performing beyond launch.\u003c/p\u003e\n\u003cp\u003eThis section covers what it means to have a “healthy” Shopify app, and what it takes to keep it successful, so it continues to be helpful to merchants over both the short and long term.\u003c/p\u003e\n\u003ch3 id=\"app-health\"\u003eApp health within the Shopify ecosystem\u003c/h3\u003e\n\u003cp\u003eA healthy Shopify app fulfills the specific use case it was installed to address, while allowing the developer to continue to grow and scale their own business.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eMaintaining your app’s health means staying on top of any and all changes, addressing potential security issues, and monitoring the business insights that will help you understand your app’s performance within the Shopify ecosystem.\u003c/p\u003e\n\u003ch3 id=\"changes-and-api-versioning\"\u003eBreaking changes and API versioning\u003c/h3\u003e\n\u003cp\u003eShopify is always building, changing, and growing. As a developer, it’s important to stay in the loop with all these changes, so that your app stays secure and up-to-date in the process.\u003c/p\u003e\n\u003cp\u003eWe always make sure to announce changes in advance and remind developers of versioning or deprecation closer to the release. Your Partner Dashboard, the \u003ca href=\"https://shopify.dev/changelog?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003edeveloper changelog\u003c/a\u003e, and our \u003ca href=\"https://shopify.dev/concepts/shopify-introduction?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003edeveloper documentation\u003c/a\u003e all make it easier for developers to keep informed of upcoming changes. We also \u003ca href=\"/ng/partners/blog/api-deprecation-update-2020-10?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eannounce updates in advance on the Partner Blog\u003c/a\u003e.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eAs well as the above resources, we also have an \u003ca href=\"https://partners.shopify.com/current/apps?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eAPI health report\u003c/a\u003e available in your Partner Dashboard. The report shows any deprecated calls your public or custom apps are making, and the deadline for updating those calls in your app.\u003c/p\u003e\n\u003cp\u003eFurthermore, you should always ensure that your developer contact information is up-to-date, as we regularly use email to communicate important updates and breaking changes well in advance.\u003c/p\u003e\n\u003cfigure\u003e\u003cimg class=\"block block--bordered\" src=\"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app-developer-changelog.jpg?v=1614185009\" alt=\"How to build a Shopify app: screenshot of the developer changelog page. Stay up to date with the recent changes to Shopify's APIs and other developer products. Screenshot shows tabs for both Recent and Scheduled updates, a field to enter your email to sign up for email updates, allow you to filter the changelog for posts that require action, or by tag: API, Tools, Shopify App Store, Themes, or Platform.\" loading=\"lazy\"\u003e\n\u003cfigcaption\u003eThe \u003ca href=\"https://shopify.dev/changelog?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003edeveloper changelog\u003c/a\u003e.\u003c/figcaption\u003e\n\u003c/figure\u003e\n\u003cp\u003eIn 2019, we introduced \u003ca href=\"/ng/partners/blog/api-versioning-at-shopify?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eAPI versioning at Shopify\u003c/a\u003e so that both Shopify and third-party developers have a clear cadence for when specific changes will be made to the API. Every quarter, Shopify releases a new API version. These releases typically happen on (or close to) January 1, April 1, July 2, and October 1. When a version is released, it lives for about a year, and is named in a \u003ccode class=\"marketing-code\"\u003eyear-month\u003c/code\u003e format, such as \u003ccode class=\"marketing-code\"\u003e2020-10\u003c/code\u003e. Each stable version is locked for a year, after which support isn’t guaranteed. You should always keep your app on a stable version to avoid any breaking changes.\u003c/p\u003e\n\u003cp\u003eIn addition to the ways Shopify helps keep you up-to-date on app performance and ecosystem updates, there are a myriad of other performance management and analytics tools you can use to make sure your app stays healthy post-launch.\u003c/p\u003e\n\u003ch3 id=\"performance-and-management\"\u003eApp performance management and monitoring\u003c/h3\u003e\n\u003cp\u003eThere are various monitoring tools you can use to make sure your app stays healthy and stable as you build new features, scale your performance, and grow your user base. By ensuring all the software within your tech stack is performing smoothly, you maintain a consistent, high-quality user experience and minimize any downtime.\u003c/p\u003e\n\u003cp\u003eApp performance monitoring tools like \u003ca href=\"https://www.bugsnag.com/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eBugsnag\u003c/a\u003e, \u003ca href=\"https://www.datadoghq.com/product/apm/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eDatadog\u003c/a\u003e or \u003ca href=\"https://sentry.io/welcome/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eSentry\u003c/a\u003e monitor your app stability, and make it easy to pinpoint and solve any errors across the applications in your tech stack. Each of these tools have varying costs associated with them.\u003c/p\u003e\n\u003cp\u003eServices like \u003ca href=\"https://aws.amazon.com/lambda/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eAWS Lambda\u003c/a\u003e allow you to run code without provisioning or managing servers, and automatically scales based on how many event requests you get without needing to upgrade your servers. This will prevent situations like your app becoming slow to load, damaging the user experience.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eDepending on where the majority of your users are located, your app usage may spike during certain times of day. You want to make sure you set up your infrastructure so there is no downtime during a spike.\u003c/p\u003e\n\u003cp\u003eUsing an app performance monitoring or management tool helps you to understand the stability and security of your underlying systems, which allows you to predict or project how your app will perform if you have a surge of installs, for example. You’re able to anticipate app performance based on various user loads.\u003c/p\u003e\n\u003cp\u003eNot all app performance monitoring tools are created equal in terms of features and functionality, however, and they vary in price depending on the vendor. It’s a good idea to do your own research into what tool will help you the most for your app’s specific use case.\u003c/p\u003e\n\u003ch3 id=\"insights\"\u003eBusiness insights\u003c/h3\u003e\n\u003cp\u003eSetting yourself up to track business insights is something you’ll also want to do from the beginning. Developer Daniel Sim created Shopify apps such as \u003ca href=\"https://apps.shopify.com/plug-in-seo?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePlug In SEO\u003c/a\u003e and \u003ca href=\"https://apps.shopify.com/plug-in-speed?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003ePlug In Speed\u003c/a\u003e (which he exited earlier in 2020) and is the founder of \u003ca href=\"https://www.appstoreanalytics.io/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eApp Store Analytics\u003c/a\u003e. He says monitoring business insights was something he and his team set up before they launched their apps in the Shopify App Store.\u003c/p\u003e\n\u003cp\u003e“Our team was very data-driven,” Sim says. “We had metrics covering product, support, software, infrastructure, and marketing. We kept the number of metics as small as possible, making sure each was actionable and owned by someone on the team. They applied right from when an app had tens of users through to tens of thousands.”\u003c/p\u003e\n\u003cp\u003e“Every app developer needs to know how merchants are finding their app, and what their journey looks like. It makes all the difference when it comes to earning revenue from your app,” Sim says.\u003c/p\u003e\n\u003cblockquote class=\"border-l-2 pl-4 font-aktivgroteskextended text-xl font-medium tracking-tight my-12 [\u0026amp;_p]:mb-4 [\u0026amp;_cite]:font-aktivgroteskextended [\u0026amp;_cite]:text-sm [\u0026amp;_cite]:not-italic [\u0026amp;_cite]:font-medium [\u0026amp;_cite]:tracking-[-0.0175rem] [\u0026amp;_footer]:mt-4 [\u0026amp;_cite::before]:content-[\u0026quot;–\u0026quot;] [\u0026amp;_cite::before]:mr-1 border-partners-highlight\"\u003e\n\u003cp\u003eEvery app developer needs to know how merchants are finding their app, and what their journey looks like. It makes all the difference when it comes to earning revenue from your app.\u003c/p\u003e\n\u003cfooter\u003e\u003ccite\u003eDaniel Sim, Founder, App Store Analytics\u003c/cite\u003e\u003c/footer\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eSim’s team used \u003ca href=\"https://fourweekmba.com/pirate-metrics/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eDave McClure's AARRR Pirate Metrics\u003c/a\u003e funnel of Acquisition, Activation, Retention, Revenue, and Referral to measure app performance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eAcquisition: \u003c/strong\u003eHow a merchant finds your app\u0026nbsp;\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eActivation: \u003c/strong\u003eWhen a merchant installs your app\u0026nbsp;\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRetention:\u003c/strong\u003e After activation, users stick around and stay engaged with your app\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRevenue: \u003c/strong\u003eHow much money the merchant makes for you\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eReferral:\u003c/strong\u003e A count of how many merchants are telling others about it\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe AARRR metrics funnel gives app developers a performance overview that helps to decide what to focus on next to grow. Sim used the conversion rates between each stage of the funnel to benchmark against other apps, and to spot opportunities and trends between his own apps.\u003c/p\u003e\n\u003cp\u003e“It's fun to build products and add new features,” Sim says. “I'm a developer, so I love to code. Working on acquisition was out of my comfort zone. At first, I didn't properly measure it, essentially ignoring it altogether. But when I eventually did start tracking it, I could see everything else was performing way above average apart from acquisition.”\u003c/p\u003e\n\u003cp\u003eMeasuring a few key metrics will help you understand how your app is performing so you can adjust what isn’t working as needed.\u0026nbsp;\u003c/p\u003e\n\u003ch3 id=\"metrics\"\u003eWhat metrics you should be tracking\u003c/h3\u003e\n\u003cp\u003eWithin the AARRR framework, Sim’s main business metrics were:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTotal users from Google Analytics visiting their app listing and public website\u0026nbsp;\u003c/li\u003e\n\u003cli\u003eInstalls taken from the Shopify Partner Dashboard\u0026nbsp;\u003c/li\u003e\n\u003cli\u003eReviews written on their app listing\u003c/li\u003e\n\u003cli\u003eFree trial to paid conversion rate\u003c/li\u003e\n\u003cli\u003eRevenue growth\u003c/li\u003e\n\u003cli\u003ePercentage of merchants who churned in a given period\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTo track free trial to paid conversion rate, revenue growth, and churn, you can export the app history CSV from your Partner Dashboard into Google Sheets.\u003c/p\u003e\n\u003cp\u003eOnce you start tracking, what do you do with the data?\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e“We put all of our AARRR metrics into a Google Sheet and shared it with the team every week,” Sim says. “Depending on the stage of the app, we'd either use just a week's worth of numbers if there was enough to be statistically significant, or a sliding window of 28 days.”\u003c/p\u003e\n\u003cp\u003eThe conversion rates were important in deciding what to work on. If Sim could see that their revenue growth was slowing, they would investigate back up the funnel to see why.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eSim says becoming disciplined at tracking AARRR every week helped him and his team focus on things that would support serious growth rather than incremental improvements.\u003c/p\u003e\n\u003cp\u003eHowever, Sim says you can make the mistake of tracking too much.\u003c/p\u003e\n\u003cp\u003e“My thinking was: ‘Oh no, if I don't track this now and we need it in future there's no way to get it retroactively,’” he says. “There was too much noise and it was expensive to maintain all of that tracking as we developed the product. It was a mess. So we pared everything back to just the metrics we needed to track our running experiments. It got tracked and it got done.”\u003c/p\u003e\n\u003cp\u003eWhen you’re able to identify problem areas or adoption rate stagnation, you have a better understanding of how your app is performing, your users’ behavior, and where there is room for improvement.\u003c/p\u003e\n\u003ch4\u003eMetrics-tracking starter tech stack\u003c/h4\u003e\n\u003cp\u003eThe tools you use to track your business metrics will vary depending on your needs and goals. \u003ca href=\"https://shopify.dev/concepts/app-store/being-successful-in-the-app-store/marketing-internally/tracking-your-listing-traffic?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eTracking your listing traffic\u003c/a\u003e in the Shopify App Store is a great way to get more information about how users are finding your app listing.\u003c/p\u003e\n\u003cp\u003eYou can go even further by setting up a couple tools that will help you keep track of the metrics and data that matter. Here are a few to get you started:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ca href=\"https://analytics.google.com/analytics/web/#/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eGoogle Analytics\u003c/a\u003e: for marketing efforts and acquisition\u003c/li\u003e\n\u003cli\u003ePartner Dashboard: for CSV exports of activation, retention, and revenue\u0026nbsp;\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://amplitude.com/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eAmplitude\u003c/a\u003e: for in-app and email events, attributes, and segmentation\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://partnermetrics.io/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003ePartner Metrics\u003c/a\u003e: for quarterly and annual trends\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://baremetrics.com/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eBaremetrics\u003c/a\u003e: for benchmarks, goals, and free trial insights\u003c/li\u003e\n\u003cli\u003e\n\u003ca href=\"https://segment.com/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eSegment\u003c/a\u003e (\u003ca href=\"https://www.twilio.com/press/releases/twilio-completes-acquisition-segment-market-leading-customer-data-platform\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003eacquired\u003c/a\u003e in 2020 by Twilio): for organizing your data pipeline for a clean overview\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis metrics-tracking tech stack can help jumpstart tracking the right data so you can make more informed business decisions and gain traction in the Shopify App Store.\u003c/p\u003e\n\u003cp\u003eOnce you have the data to understand how your app is performing, you can begin to conduct experiments to improve your app and scale over time.\u003c/p\u003e\n\u003ch3 id=\"designing-growth\"\u003eDesigning app growth experiments through data analysis\u003c/h3\u003e\n\u003cp\u003eIt’s important to understand which metrics you want to track and prepare to track them before you publish your Shopify app. This will set you up to have a clear understanding of how your app is performing, allow you to define what success looks like to you, and design growth experiments through that data analysis.\u003c/p\u003e\n\u003cp\u003eOnce Sim and his team identified which metrics they wanted to improve, they would come up with hypotheses to try out. For the most promising hypotheses, they designed experiments. Each experiment offered more granular temporary metrics, that would tell Sim if their hypothesis was validated or invalidated. Wherever practical, and if they had enough volume, they would run A/B tests on their hypotheses.\u003c/p\u003e\n\u003cp\u003eOne such experiment was when they changed the code installation step of onboarding to be automated rather than something support would help with.\u0026nbsp;\u003c/p\u003e\n\u003cp\u003e“To make it an accurate experiment, we added metrics for which stage of onboarding the merchant was dropping out at, their interactions with support, and how engaged they were with the app after onboarding,” Sim says. “Surprisingly, we found that automated code installation led to worse retention. Temporary, focused metrics helped us to invalidate what looked to be a valid hypothesis.”\u003c/p\u003e\n\u003ch3 id=\"understand\"\u003eBuild and understand traction to scale app performance and installs\u003c/h3\u003e\n\u003cp\u003eOnce you’ve set up your app performance management and monitoring tools, you’ll start to see trends, be able to flag fixable errors, and learn how to keep your app high performing and your users happy.\u003c/p\u003e\n\u003cp\u003e“Getting initial traction is like pushing a huge boulder,” Sim says. “Once you get it rolling though, Shopify offers many opportunities to work with the world's best merchants in a healthy, thriving ecosystem of partners.”\u003c/p\u003e\n\u003ch4\u003eAdditional resources:\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ng/partners/blog/api-versioning-at-shopify?itcat=partner_blog\u0026amp;itterm=api_deprecation_update_2020_10\" title=\"Introducing API versioning at Shopify\"\u003eIntroducing API Versioning at Shopify \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ng/partners/blog/api-deprecation-update-2020-10\" title=\"API deprecation at Shopify\"\u003eAPI Deprecation at Shopify: 2020-10 Edition \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eBlog post: \u003ca href=\"/ng/partners/blog/app-metrics\" title=\"8 growth metrics every app developer should track\"\u003e8 Growth Metrics Every App Developer Should Track \u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eDocs: \u003ca href=\"https://shopify.dev/concepts/shopify-introduction?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eDeveloping on Shopify\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eShopify.dev: \u003ca href=\"https://shopify.dev/changelog?itcat=partner_blog\u0026amp;itterm=how_to_build_a_shopify_app\"\u003eChangelog\u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGet started building your Shopify app\u003c/h2\u003e\n\u003cp\u003eLearning how to build a Shopify app can feel daunting if you’re not sure where to start. Now that you’ve learned the six stages of app building for the Shopify ecosystem, the only limit is your creativity. There are many different ways you can approach creating your app and the steps outlined in this article are simply meant to guide you through the app-building process.\u003c/p\u003e\n\u003cp\u003eYou’ve got what you need to start building a Shopify app. The rest is up to you.\u003c/p\u003e\n\u003ca data-encoded-tag-name=\"meta\" data-encoded-tag-value=\"\" data-encoded-attr-charset=\"dXRmLTg=\"\u003e\u003c/a\u003e\n\u003cp\u003e\u003cspan\u003eLearn more at:\u0026nbsp;\u003c/span\u003e\u003ca href=\"/ng/partners\"\u003eShopify Partners\u003c/a\u003e\u003c/p\u003e\n\u003cdiv data-sanitized-data-partners-signup=\"app_developer\" data-partners-signup=\"app_developer\"\u003e\u003c/div\u003e\n\u003cp\u003e\u003cem\u003eIllustrations by \u003c/em\u003e\u003ca href=\"https://eugeniamello.com/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"\u003e\u003cem\u003eEugenia Mello\u003c/em\u003e\u003c/a\u003e\u003cem\u003e.\u003c/em\u003e\u003c/p\u003e\u003cdiv id=\":R0:\" data-component-name=\"blog-read-more\" class=\"marketing-block marketing-block--light marketing-block--padded text-body-sm text-left my-8 tablet:my-16 p-8 bg-marketingBg border-t-2 [\u0026amp;_h2]:text-t5 border-partners-highlight\"\u003e\u003ch2 class=\"!mt-0 mb-6 font-aktivgroteskextended\"\u003eRead more\u003c/h2\u003e\u003cul class=\"!mt-0 !mb-0\"\u003e\u003cli class=\"mt-2\"\u003e\u003ca href=\"/ng/partners/blog/front-end-app\"\u003eHow to Build a Shopify App as a Front End Developer\u003c/a\u003e\u003c/li\u003e\u003cli class=\"mt-2\"\u003e\u003ca href=\"/ng/partners/blog/building-a-shopify-app-in-one-week\"\u003eHow to Build a Shopify App in One Week\u003c/a\u003e\u003c/li\u003e\u003cli class=\"mt-2\"\u003e\u003ca href=\"/ng/partners/blog/development-stores\"\u003eEverything You Need to Know About Development Stores\u003c/a\u003e\u003c/li\u003e\u003cli class=\"mt-2\"\u003e\u003ca href=\"/ng/partners/blog/17056443-how-to-generate-a-shopify-api-token\"\u003eHow to Generate a Shopify Access Token\u003c/a\u003e\u003c/li\u003e\u003cli class=\"mt-2\"\u003e\u003ca href=\"/ng/partners/blog/react-summit-2021\"\u003eLearn About Shopify App Development at React Summit 2021\u003c/a\u003e\u003c/li\u003e\u003cli class=\"mt-2\"\u003e\u003ca href=\"/ng/partners/blog/theme-app-extensions\"\u003eHow to Level Up Your App with Theme App Extensions\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e","latestArticles":[],"contentNavigationLinks":[],"blogHandle":"partners","settings":{"topSectionImages":[{"src":"https://cdn.shopify.com/b/shopify-brochure2-assets/2ecdaa09da44408d3c2a2b9cba3a2c07.png?originalWidth=1005\u0026originalHeight=1288"},{"src":"https://cdn.shopify.com/b/shopify-brochure2-assets/8262a99b5702f964162106b94a23ad2d.png?originalWidth=1005\u0026originalHeight=1288"},{"src":"https://cdn.shopify.com/b/shopify-brochure2-assets/16db235a9390238e6f9b8fd2a5c29680.png?originalWidth=1005\u0026originalHeight=1288"}],"images":{"guides-modal-default":"https://cdn.shopify.com/shopifycloud/brochure/assets/content-marketing/blog/guides/default-popup-small-507879111d55acdd759b202ab869ea0b8bd0f4af9f9aaa7c540efe59b8e046db.jpg","guides-modal-photography":"https://cdn.shopify.com/b/shopify-brochure2-assets/1bd4b072dc187a774c9af650d0f16d0b.jpg","guides-modal-seo":"https://cdn.shopify.com/b/shopify-brochure2-assets/63781344c2932de6e553a54b02291692.jpg","subscription":{"image":{"en":"https://cdn.shopify.com/b/shopify-brochure2-assets/c46f986d892538f4b0a15f25692330f7.png?originalWidth=1420\u0026originalHeight=1040"}},"rightColSideBannerImg":"https://cdn.shopify.com/b/shopify-brochure2-assets/c8790c0f3c1fa91ccc845e45ce067bbe.png","articleNavigation":{"banner":{"en":"https://cdn.shopify.com/b/shopify-brochure2-assets/e570727d45209fec56c410f802faa0fe.png"}}},"subscription":{"settings":{"subscriptionId":"DE84EF61-2A02-4778-8807-F01B108DE974"}},"winterBanner":{"image":{"src":"https://cdn.shopify.com/b/shopify-brochure2-assets/fd2392619c15dd4d1a48ecce1586e074.png?originalWidth=274\u0026originalHeight=359","srcSet":"https://cdn.shopify.com/b/shopify-brochure2-assets/c448cc76f89bd7f085f5f05c6680f9e0.png?originalWidth=547\u0026originalHeight=718","alt":"winter banner"},"link":"https://www.shopify.com/editions/winter2025?utm_source=blog\u0026utm_medium=seo\u0026utm_campaign=winter25edition-launch\u0026utm_content=partners_blog_sidebanner"}},"shareImage":"https://cdn.shopify.com/s/files/1/0533/2089/articles/how-to-build-a-shopify-app.jpg?v=1727286002","availableRegions":["en-NG","en-ca","en-gb","en-au","en-id","en-nz","en-za","en-ng","en-ph","en-sg","en-hk","en-ie","en-my"],"popularArticles":[{"title":"10 Beautiful Ecommerce Website Color Schemes","tags":["Web Design Tools and Resources"],"handle":"93130630-10-beautiful-ecommerce-website-color-schemes","imageUrl":"https://cdn.shopify.com/s/files/1/0533/2089/files/website-color-schemes_aa512fdf-91cb-4a30-8fa2-3d2c88d28cf1.jpg?v=1566309308\u0026width=1024","imageAltText":"website color schemes","modifiedAt":"2019-08-20"},{"title":"How to Build a Shopify App: The Complete Guide\n","tags":["Shopify App Development"],"handle":"how-to-build-a-shopify-app","imageUrl":"https://cdn.shopify.com/s/files/1/0533/2089/files/how-to-build-a-shopify-app.jpg?v=1614173396\u0026width=1024","imageAltText":"How to build a Shopify app","modifiedAt":"2021-02-24"},{"title":"15 Funny Lorem Ipsum Generators to Shake Up Your Design Mockups","tags":["Web Design Tools and Resources"],"handle":"79940998-15-funny-lorem-ipsum-generators-to-shake-up-your-design-mockups","imageUrl":"https://cdn.shopify.com/s/files/1/0533/2089/files/lorem-ipsum-generator.jpg?v=1555505887\u0026width=1024","imageAltText":"lorem ipsum generator","modifiedAt":"2019-04-17"},{"title":"20 Memorable Web Design Portfolio Examples to Inspire Your Own Website","tags":["Inspiration \u0026 Creativity"],"handle":"web-design-portfolio-inspiration","imageUrl":"https://cdn.shopify.com/s/files/1/0533/2089/files/web-design-portfolio-inspiration.jpg?v=1503509907\u0026width=1024","imageAltText":"Web design portfolio inspiration","modifiedAt":"2019-05-01"},{"title":"Inclusive Design: 12 Ways to Design for Everyone","tags":["Web Design"],"handle":"inclusive-design","imageUrl":"https://cdn.shopify.com/s/files/1/0533/2089/files/inclusive-design.jpg?v=1521725383\u0026width=1024","imageAltText":"inclusive design","modifiedAt":"2018-03-23"},{"title":"How to Manipulate Images with the img_url Filter","tags":["Learning Liquid"],"handle":"img-url-filter","imageUrl":"https://cdn.shopify.com/s/files/1/0533/2089/files/img-url-filter.jpg?v=1515074624\u0026width=1024","imageAltText":"img url filter","modifiedAt":"2018-01-04"},{"title":"Create a Marketplace in Less than 8 Minutes with Shopify’s Marketplace Kit","tags":["Shopify News"],"handle":"shopify-marketplace-kit","imageUrl":"https://cdn.shopify.com/s/files/1/0533/2089/files/Partner_blog_hero_image.png?format=webp\u0026v=1655890916\u0026width=1024","imageAltText":"Shopify Marketplace Kit hero image","modifiedAt":"2022-05-13"},{"title":"Introducing Online Store 2.0: What it Means For Developers","tags":["Shopify News"],"handle":"shopify-online-store","imageUrl":"https://cdn.shopify.com/s/files/1/0533/2089/files/shopify-online-store.jpg?v=1624557750\u0026width=1024","imageAltText":"shopify online store","modifiedAt":"2021-01-29"}],"hreflangs":[{"tagName":"link","rel":"alternate","hreflang":"en-NG","href":"https://www.shopify.com/ng/partners/blog/how-to-build-a-shopify-app"},{"tagName":"link","rel":"alternate","hreflang":"en-ca","href":"https://www.shopify.com/ca/partners/blog/how-to-build-a-shopify-app"},{"tagName":"link","rel":"alternate","hreflang":"en-gb","href":"https://www.shopify.com/uk/partners/blog/how-to-build-a-shopify-app"},{"tagName":"link","rel":"alternate","hreflang":"en-au","href":"https://www.shopify.com/au/partners/blog/how-to-build-a-shopify-app"},{"tagName":"link","rel":"alternate","hreflang":"en-id","href":"https://www.shopify.com/id/partners/blog/how-to-build-a-shopify-app"},{"tagName":"link","rel":"alternate","hreflang":"en-nz","href":"https://www.shopify.com/nz/partners/blog/how-to-build-a-shopify-app"},{"tagName":"link","rel":"alternate","hreflang":"en-za","href":"https://www.shopify.com/za/partners/blog/how-to-build-a-shopify-app"},{"tagName":"link","rel":"alternate","hreflang":"en-ng","href":"https://www.shopify.com/ng/partners/blog/how-to-build-a-shopify-app"},{"tagName":"link","rel":"alternate","hreflang":"en-ph","href":"https://www.shopify.com/ph/partners/blog/how-to-build-a-shopify-app"},{"tagName":"link","rel":"alternate","hreflang":"en-sg","href":"https://www.shopify.com/sg/partners/blog/how-to-build-a-shopify-app"},{"tagName":"link","rel":"alternate","hreflang":"en-hk","href":"https://www.shopify.com/hk/partners/blog/how-to-build-a-shopify-app"},{"tagName":"link","rel":"alternate","hreflang":"en-ie","href":"https://www.shopify.com/ie/partners/blog/how-to-build-a-shopify-app"},{"tagName":"link","rel":"alternate","hreflang":"en-my","href":"https://www.shopify.com/my/partners/blog/how-to-build-a-shopify-app"}],"url":"https://www.shopify.com/ng/partners/blog/how-to-build-a-shopify-app","canonicalUrl":"https://www.shopify.com/ng/partners/blog/how-to-build-a-shopify-app","rootDomain":"shopify.com","experimentVariationId":"f_2a301ab5cba6ac6e4310bf493c0bca04:true","realCountryCode":"SG","geoCountryCode":"","regionCode":"","site":{"domain":"www.shopify.com.ng","countryCode":"NG","hreflang":"en-NG","locale":"en-NG","baseEnDomain":true,"currencyCode":"NGN","features":["blog","facebook_instagram","google","lite_plan","starter_plan","plus","localized_help_center","pos","sitemap_blog","sitemap_blog_retail","sitemap_enterprise","sitemap_tools","support_24_7","google_buy","global_page_title"],"pathPrefix":"ng","languageCode":"en"},"fileRoutePath":"/partners/blog/$article","regions":[{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/au/partners/blog/how-to-build-a-shopify-app","hreflang":"en-AU","label":"Australia","lang":"en","base":false,"selector":true,"isActive":false,"published":true},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/be-de","hreflang":"de-BE","label":"Belgium","lang":"de","base":false,"selector":false,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/be-en","hreflang":"en-BE","label":"Belgium","lang":"en","base":false,"selector":false,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/be-fr","hreflang":"fr-BE","label":"Belgium","lang":"fr","base":false,"selector":false,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/be","hreflang":"nl-BE","label":"Belgium","lang":"nl","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/br","hreflang":"pt","label":"Brasil","lang":"pt","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/ca/partners/blog/how-to-build-a-shopify-app","hreflang":"en-CA","label":"Canada (English)","lang":"en","base":false,"selector":true,"isActive":false,"published":true},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/ca-fr","hreflang":"fr-CA","label":"Canada (Français)","lang":"fr","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/cz","hreflang":"cs","label":"Česká republika","lang":"cs","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/co","hreflang":"es-CO","label":"Colombia","lang":"es","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/dk","hreflang":"da","label":"Danmark","lang":"da","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/dk-en","hreflang":"en-DK","label":"Denmark","lang":"en","base":false,"selector":false,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/de","hreflang":"de","label":"Deutschland","lang":"de","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/es-es","hreflang":"es-ES","label":"España","lang":"es","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/es","hreflang":"es","label":"Español (Intl.)","lang":"es","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/fr","hreflang":"fr","label":"France","lang":"fr","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/hk-en/partners/blog/how-to-build-a-shopify-app","hreflang":"en-HK","label":"Hong Kong SAR","lang":"en","base":false,"selector":true,"isActive":false,"published":true},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/in/partners/blog/how-to-build-a-shopify-app","hreflang":"en-IN","label":"India","lang":"en","base":false,"selector":true,"isActive":false,"published":true},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/id/partners/blog/how-to-build-a-shopify-app","hreflang":"en-ID","label":"Indonesia","lang":"en","base":false,"selector":true,"isActive":false,"published":true},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/ie/partners/blog/how-to-build-a-shopify-app","hreflang":"en-IE","label":"Ireland","lang":"en","base":false,"selector":true,"isActive":false,"published":true},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/it","hreflang":"it","label":"Italia","lang":"it","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/my/partners/blog/how-to-build-a-shopify-app","hreflang":"en-MY","label":"Malaysia","lang":"en","base":false,"selector":true,"isActive":false,"published":true},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/mx","hreflang":"es-MX","label":"México","lang":"es","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/nl","hreflang":"nl","label":"Nederland","lang":"nl","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/nz/partners/blog/how-to-build-a-shopify-app","hreflang":"en-NZ","label":"New Zealand","lang":"en","base":false,"selector":true,"isActive":false,"published":true},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/ng/partners/blog/how-to-build-a-shopify-app","hreflang":"en-NG","label":"Nigeria","lang":"en","base":false,"selector":true,"isActive":true,"published":true},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/no","hreflang":"nb","label":"Norge","lang":"nb","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/no-en","hreflang":"en-NO","label":"Norway (English)","lang":"en","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/ph/partners/blog/how-to-build-a-shopify-app","hreflang":"en-PH","label":"Philippines","lang":"en","base":false,"selector":true,"isActive":false,"published":true},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/pl","hreflang":"pl","label":"Polska","lang":"pl","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/pt","hreflang":"pt-PT","label":"Portugal","lang":"pt-PT","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/sg/partners/blog/how-to-build-a-shopify-app","hreflang":"en-SG","label":"Singapore","lang":"en","base":false,"selector":true,"isActive":false,"published":true},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/za/partners/blog/how-to-build-a-shopify-app","hreflang":"en-ZA","label":"South Africa","lang":"en","base":false,"selector":true,"isActive":false,"published":true},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/fi","hreflang":"fi","label":"Suomi","lang":"fi","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/se","hreflang":"sv","label":"Sverige","lang":"sv","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/tr","hreflang":"tr","label":"Türkiye","lang":"tr","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/uk/partners/blog/how-to-build-a-shopify-app","hreflang":"en-GB","label":"United Kingdom","lang":"en","base":false,"selector":true,"isActive":false,"published":true},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/partners/blog/how-to-build-a-shopify-app","hreflang":"en","label":"USA","lang":"en","base":true,"selector":true,"isActive":false,"published":true},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/th","hreflang":"th","label":"ไทย","lang":"th","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/kr","hreflang":"ko","label":"대한민국","lang":"ko","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/tw","hreflang":"zh-Hant-TW","label":"台灣","lang":"zh-Hant","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/jp","hreflang":"ja-JP","label":"日本","lang":"ja","base":false,"selector":true,"isActive":false,"published":false},{"domain":"www.shopify.com.ng","href":"https://www.shopify.com/zh","hreflang":"zh-Hans","label":"简体中文","lang":"zh-Hans","base":false,"selector":true,"isActive":false,"published":false}],"enPath":"/partners/blog/how-to-build-a-shopify-app","handle":"partners-article","geoPricingIsEnabled":false,"editMode":false,"translations":{"en":{"global":{"argoPlaceholder":"2","ariaLabels":{"close":"Close","carousel":{"name":"carousel","slide":"slide","xOfY":"{x} of {y}","play":"Play carousel","pause":"Pause carousel"},"footer":{"regionsNav":"Region Navigation","regionsClose":"Close Region Navigation","newWindow":"Opens an external site in a new window"},"header":{"mobileNavMenu":"Menu","mainNav":"Main","secondaryNav":"Related pages","skipToContent":"Skip to Content"},"headerLight":{"dismissIcon":"Dismiss banner"},"learnMore":"Learn more about {title}","link":{"external":"External source: ","newWindow":" (Opens in a new window)","label":"{{external}}{{title}}{{newWindow}}"},"logoGroup":"Logos","modal":{"close":"Close modal","pip":"Picture in picture"},"next":"Next","previous":"Previous","current":"Current","pagination":{"previous":"Previous page","next":"Next page"},"shopifyLogo":"Shopify logo","shopifyPartnersLogo":"Shopify partners logo","testimonial":{"controls":"Navigate testimonials","plural":"Testimonials","next":"Next Testimonial","previous":"Previous Testimonial","play":"Play Testimonial","pause":"Pause Testimonial"},"videoModal":"video","video":{"play":"Play video","pause":"Pause video"}},"incentivesPromoBanner":{"app_store_credit":"\u003ca href=\"{{signupUrl}}\"\u003eJoin Shopify and get $50 USD to use in the Shopify App Store. \u003c/a\u003e\u003ca id=\"incentivesTermsLink\" target=\"_blank\" data-component-name=\"acquisition-incentive-terms\" href=\"{{incentiveTerms}}\"/\u003eTerms apply\u003c/a\u003e","gpv_acquisition_incentive_flag":"Join today and get up to \u003ca id=\"showTermsLink\" target=\"_blank\" data-component-name=\"sales-bonus-terms\" href=\"{{incentiveTerms}}\"/ style=\"color: inherit; font-weight: normal\"\u003e$5,000 in cash rebates\u003c/a\u003e on your first six months of sales","retail":{"spRateTermsLink":"\u0026nbsp\u003ca id=\"spIncentivesTermsLink\" target=\"_blank\" class=\"!font-normal\" target=\"_blank\" data-component-name=\"sp-incentive-terms\" href=\"{{incentiveTerms}}\"/\u003eTerms apply\u003c/a\u003e","subscriptionIncentive":"Special offer: get 6 months of POS Pro for {{incentivePrice}}/month","spRateIncentive":"Get {{rate}}% card rates on up to {{gpvLimit}} USD of in-person sales during your first {{length}} months.","spRateIncentiveTerms":"Terms apply","cardReaderDiscountIncentive":"Get a free card reader when you pick a plan.","cardReaderDiscountIncentiveTerms":"Terms apply"},"gmv_rewards":"\u003ca href=\"{{signupUrl}}\" style=\"text-decoration: none; font-size: 16px\"\u003e\u003cb\u003eOffer: earn 1% of all sales\u003c/b\u003e as subscription credits, up to {{maxPayoutCap}}.\u003c/a\u003e \u003ca id=\"incentiveLearnMoreLink\" href=\"{{learnMore}}\" style=\"font-size: 16px\"\u003eLearn more\u003c/a\u003e"},"cookiesNotice":{"acceptAllButtonText":"Accept all","activeConsentContentHtml":"We use cookies (and other similar technologies) for many purposes, including to improve your experience on our site and for ads and analytics. Click \"Accept all\" to accept these uses. Read more in our \u003ca href=\"{{legalCookiesPath}}\"\u003eCookie Policy\u003c/a\u003e.","buttonText":"OK","contentHtml":"Shopify uses cookies to provide necessary site functionality and improve your experience. By using our website, you agree to our \u003ca href=\"{{legalPrivacyPath}}\"\u003ePrivacy Policy\u003c/a\u003e and our \u003ca href=\"{{legalCookiesPath}}\"\u003eCookie Policy\u003c/a\u003e.","rejectAllButtonText":"Reject all"},"countries":{"au":"Australia","be":"Belgium","br":"Brazil","ca":"Canada","cn":"China","co":"Colombia","cz":"Czech Republic","dk":"Denmark","en":"USA","es":"Spain","de":"Germany","fi":"Finland","fr":"France","gb":"UK","hk":"Hong Kong SAR","id":"Indonesia","ie":"Ireland","in":"India","it":"Italy","jp":"Japan","kr":"Korea","my":"Malaysia","mx":"Mexico","ng":"Nigeria","nl":"Netherlands","no":"Norway","nz":"New Zealand","ph":"Philippines","pl":"Poland","pt":"Portugal","se":"Sweden","sg":"Singapore","th":"Thailand","tr":"Turkey","tw":"Taiwan","vn":"Vietnam","za":"South Africa"},"downloadApp":{"androidAlt":"Get the Shopify app on Google Play","androidUrl":"https://shopify.com/install/android","iosAlt":"Download the Shopify app on the Apple App Store","iosUrl":"https://shopify.com/install/mobile","qrCodeAlt":"QR code to download from","qrTitle":"Scan to install"},"downloadposApp":{"androidAlt":"Get the Shopify POS Mobile app on Google Play","androidUrl":"https://play.google.com/store/apps/details?id=com.shopify.pos","iosAlt":"Download the Shopify POS Mobile app on the Apple App Store","iosUrl":"https://apps.apple.com/us/app/shopify-point-of-sale-pos/id686830644","qrCodeAlt":"QR code to download from","qrTitle":"Scan or click below to install"},"forms":{"fields":{"country":{"label":"Country","placeholder":"Select one","error":"Please select a country"}}},"globalNav":{"applyText":"Apply for early access","applyTextPlain":"Apply for access","getStarted":"Get started","headerPdfCta":"Download document","headerPdfCtaLink":"https://cdn.shopify.com/static/Shopify-Guide_PDF.pdf","homeUrl":"{{home}}","loginGetStartedText":"Log in to get started","loginText":"Log in","loginUrl":"/login","signinText":"Sign in","signupText":"Start free trial","signupTextFree":"Sign up free","signupTextPlain":"Sign up","searchText":"Search","searchPlaceholder":"Type something you're looking for","searchPlaceholderMobile":"Search","signUpButtonText":"Get in touch","sharedBottomBar":{"shopify":"Shopify","shopifyDesc":"Platform for entrepreneurs \u0026 SMBs","plus":"Plus","plusDesc":"A commerce solution for growing digital brands","enterprise":"Enterprise","enterpriseDesc":"Solutions for the world’s largest brands"},"edition":"Winter ’25 Edition"},"showLess":"Show less","showMore":"Show more","home":"{{home}}","learnMore":"Learn more","plans":{"pricingFaqAnswerWithDiscount":"We offer a 25% discount for yearly subscriptions if you choose the Basic, Shopify, or Advanced plans. If you choose a 3-year Shopify Plus plan, we offer a monthly discount and lower online variable platform fees."},"sell":{"header":"Explore your options","title":"Apps that help you sell {{vertical}}","subheading":"Some popular apps other merchants use","seeRecommendedApps":"See more recommended apps","by":"By {{partner}}"},"shopify":"Shopify","pagination":{"page":"Page"},"signup":{"buttonText":"Start free trial","plusButtonText":"Get in touch","buttonText_fr":"Launch your store","label":"Email address","placeholder":"Enter your email address","disclaimerHtml":"Try Shopify free for {{trialLength}} days, no credit card\u0026nbsp;required. By entering your email, you agree to receive marketing emails\u0026nbsp;from\u0026nbsp;Shopify.","disclaimerNoLengthHtml":"No credit card required. By entering your email, you agree to receive marketing emails\u0026nbsp;from\u0026nbsp;Shopify.","testimonialButtonText":"Try Shopify free for {{trialLength}} days","freeTrialCtaHtml":"Try Shopify for free, and explore all the tools and services you need to start, run, and grow your\u0026nbsp;business.","signupPaidTrialPromo":{"default_one":"Get {{trialLength}} days free then 1 month for {{paidTrialAmount}}.","default_other":"Start for free, then get your first {{count}} months for {{paidTrialAmount}}/mo.","disclaimer":"By entering your email, you agree to receive marketing emails\u0026nbsp;from\u0026nbsp;Shopify.","disclaimerNoEmail_one":"Don’t have a Shopify store? \u003ca href=\"{{deeplinkFreeTrial}}\" data-component-name=\"{{deeplinkFreeTrialName}}\"\u003eStart free, then get your first month for {{paidTrialAmount}}.\u003c/a\u003e","disclaimerNoEmail_other":"Don’t have a Shopify store? \u003ca href=\"{{deeplinkFreeTrial}}\" data-component-name=\"{{deeplinkFreeTrialName}}\"\u003eStart for free, then get your first {{count}} months for {{paidTrialAmount}}/mo.\u003c/a\u003e"}},"social":{"facebook":{"text":"Facebook","url":"https://www.facebook.com/shopify","url_de":"https://www.facebook.com/shopifyDE","url_jp":"https://www.facebook.com/ShopifyJP"},"twitter":{"text":"Twitter","url":"https://twitter.com/shopify","url_jp":"https://twitter.com/ShopifyJP"},"youtube":{"text":"YouTube","url":"https://www.youtube.com/user/shopify","url_de":"https://www.youtube.com/c/ShopifyDeutsch","url_fr":"https://www.youtube.com/c/ShopifyFrançais","url_it":"https://www.youtube.com/c/ShopifyItaliano","url_jp":"https://www.youtube.com/c/ShopifyJapan","url_nl":"https://www.youtube.com/c/ShopifyNederlands","url_br":"https://www.youtube.com/c/ShopifyBrasil"},"instagram":{"text":"Instagram","url":"https://www.instagram.com/shopify/"},"tiktok":{"text":"TikTok","url":"https://www.tiktok.com/@shopify"},"linkedin":{"text":"LinkedIn","url":"https://www.linkedin.com/company/shopify"},"pinterest":{"text":"Pinterest","url":"https://www.pinterest.com/shopify/","url_jp":"https://www.pinterest.com/shopifyjp/"},"email":{"text":"Email","url":"mailto:"}},"tableOfContents":"Table of Contents","totalApps":6000,"totalThemes":70,"supportedLanguages":50,"totalGateways":100,"totalStores":1700000,"uptime":99.98,"waitlistForm":{"errors":{"general":"Something went wrong, try again later","emailFormat":"Email is formatted incorrectly"},"successMessage":"Done","placeholder":"Enter your email address","buttonText":"Signup"},"editionsEyebrow":{"text":"Shopify Editions | Winter ’25 is live"},"sectionErrorBoundary":{"message":"This content is not loading due to a technical problem"},"nav":{"about":"About Shopify","academy":"Shopify Academy","allFeatures":"All features","allProducts":"All Products","allProductsDescription":"Explore all Shopify products \u0026 features","appStore":"Find business apps","appStoreDescription":"Shopify app store","b2b":"Sell wholesale \u0026 direct","b2bDescription":"Business-to-business (B2B)","balance":"Balance","banking":"Banking","billPay":"Bill Pay","blog":"Blog","blogEnterprise":"Enterprise Blog","blogMerchants":"Merchant Blog","blogRetail":"Retail Blog","borrowing":"Borrowing","branding":"Branding","brandingDescriptionV2":"Build your brand from scratch","brandingFlyoutDescription":"Look professional and help customers connect with your business","build":"Build","burst":"Free stock photos","businessEncyclopedia":"Business encyclopedia","businessFunding":"Secure business funding","businessFundingDescription":"Shopify Capital","businessGrowth":"Business growth","businessGrowthDescription":"Scale your business","businessNameGenerator":"Business name generator ","businessPlanTemplate":"Business plan template","businessTypes":"Business Types","buyButton":"Buy Button","buyButtonDescription":"Transform an existing website or blog into an online store","buyButtonSubnav":"Explore Buy Button","capital":"Capital","capitalLoansAndCashAdvances":"Large retailer funding","capitalSmallBusiness":"Small business funding","cdiscount":"Cdiscount","changelog":"Changelog","changelogDescription":"Your source for recent updates","checkout":"Checkout","checkoutDescription":"Provide fast, smooth checkout experiences","checkoutDescriptionV2":"World-class checkout","checkoutV2":"Check out customers","commerceComponents":"Enterprise","commerceComponentsDescription":"Solutions for the world's largest brands","community":"Community","communityEvents":"Community Events","compareToPlus":"Compare to Plus","compass":"Business courses","compassDescription":"Learn from proven experts","calculator":"Cost calculator","credit":"Credit","ctaAlt":"Free Trial","docs":"Docs","customerInsights":"Know your audience","customerInsightsDescription":"Gain customer insights","customization":"Customization","domains":"Domains","domainsAndHosting":"Own your site domain","domainsAndHostingDescription":"Domains \u0026 hosting","dropshipping":"Dropshipping","ecommerce":"Online store","ecommerceDescription":"Online store editor","ecommerceSeo":"Ecommerce SEO","ecommerceSeoDescription":"Improve your search ranking","ecommerceV2":"Create your website","editions":"Editions","editionsAll":"All Editions","editionsAllDescription":"Archive of past Shopify Editions","editionsCurrent":"Summer ’24 Edition","editionsLast":"Winter ’25 Edition","editionsLastDescription":"The latest 150+ product updates","emailMarketing":"Email marketing","encyclopedia":"Encyclopedia","essentialTools":"Essential tools","examples":"Examples","exchange":"Websites for sale","experts":"Experts","facebook":"Facebook Shops","facebookAds":"Facebook Ads","facebookInstagram":"Facebook \u0026 Instagram","faq":"FAQ","features":"Features","financesManagement":"Manage your finances \u0026 access funding","financesManagementDescription":"Shopify Finance","flow":"Ecommerce automation","flowDescription":"Shopify Flow","flowV2":"Automate your business","forums":"Shopify Community","founderStories":"Founder stories","founderStoriesDescription":"Learn from successful merchants","fraudProtection":"Fraud Protection","freeBusinessTools":"Explore free business tools","freeBusinessToolsDescription":"Tools to run your business","freeTools":"Free tools","fulfillment":"Fulfillment","fulfillmentDescription":"Shopify Fulfillment Network","fulfillmentV2":"Outsource fulfillment \u0026 returns","getStarted":"Start free trial","getInTouch":"Get in touch","google":"Google","googleSmart":"Google","googleYoutube":"Google \u0026 Youtube","guides":"Guides","hardware":"Hardware","hardwareStore":"Hardware store","helpAndSupport":"Help and support","helpAndSupportDescription":"Get 24/7 support","helpCenter":"Help Center","howToGuides":"How-to guides","howToGuidesDescription":"Read in-depth business guides","impressumGenerator":"Impressum-Generator","inbox":"Business chat","inboxDescription":"Turn browsers into buyers","inboxDescriptionV2":"Shopify Inbox","inboxV2":"Chat with customers","instagram":"Instagram","installments":"Installments","internationalSales":"International sales","internationalSalesDescription":"Sell globally","inventoryOrderManagement":"Manage your stock \u0026 orders","inventoryOrderManagementDescription":"Inventory \u0026 order management","joinNow":"Join Now","learn":"Learn","lending":"Lending","linkInBioTool":"Link in bio tool","login":"Log in","logoMaker":"Logo maker","manage":"Manage","manageEverything":"Manage everything","manageYourBusiness":"Manage your business","manageYourBusinessDescription":"Track sales, orders \u0026 analytics","market":"Market","marketDescription":"Market your business","marketDescriptionV2":"Reach \u0026 retain customers","marketing":"Marketing","marketingAutomation":"Marketing automation","marketingDescription":"Build a marketing plan","marketingTools":"Marketing tools","marketingToolsDescription":"Ads, email campaigns, and more","marketplaces":"Online marketplaces","markets":"International commerce","marketsDescription":"Reach buyers in new markets with international selling tools","measureYourPerformance":"Measure your performance","measureYourPerformanceDescription":"Analytics and Reporting","midMarket":"Mid-market","migrateToShopify":"Migrate to Shopify","migrateToShopifyDescription":"Compare to other platforms","mobileApp":"Mobile app","mobileAppDescription":"Respond in real time","moneyManagement":"Get paid faster","moneyManagementDescription":"Shopify Balance","more":"More","newsroom":"Newsroom","newsroomDescription":"All company news and press releases","onlineFlyoutDescription":"Find a domain, explore stock images, and amplify your brand","onlinePresence":"Online presence","onlineStoreDescription":"Sell online with an ecommerce website","omnichannel":"Omnichannel selling","orderManagementAndFulfillment":"Order management and delivery","overview":"Overview","partners":"Partners","payments":"Payment processing","paymentsDescription":"Set up forms of payment","paymentsOverview":"Overview","paymentsV2":"Accept online payments","pillarDropdownCta":"Get started","ping":"Shopify Ping","plus":"Plus","plusPricing":"Plus Pricing","podcasts":"Podcasts","pointOfSale":"Point of Sale","pointOfSaleDescription":"Point of Sale (POS)","pointOfSaleV2":"Sell in person","popularTopics":"Popular topics","pos":"Shopify POS","posPricing":"POS Pricing","posSystemSmallBusiness":"Small business POS","posMultiStore":"Multi-store POS","posInventorySystem":"POS inventory system","posAndroid":"Android POS","posIpad":"iPad POS","posApp":"POS App","posSoftware":"POS Software","pricing":"Pricing","pricingOverview":"Pricing overview","productSourcing":"Product sourcing","productSourcingDescription":"Find products to sell","productsToSell":"Products to sell","qrCodeGenerator":"QR code generator","rakuten":"Rakuten","research":"Research","resources":"Resources","retail":"Retail POS","retailDescription":"Sell at retail locations, pop-ups, and beyond","salesChannels":"Sales channels","salesChannelsDescription":"Reach millions of shoppers and boost sales","salesChannelsDescriptionV2":"Channels for social \u0026 marketplaces","salesChannelsV2":"Sell across channels","segmentation":"Customer groups","sell":"Sell","sellEverywhere":"Sell everywhere","sellOnline":"Sell online","sellOnlineDescription":"Grow your business online","sellYourProducts":"Sell your products","sellYourProductsDescription":"Sell online or in person","shipping":"Shipping","shippingDescription":"Fulfill orders faster","shippingDescriptionV2":"Shopify Shipping","shippingV2":"Ship orders faster","inventoryDescription":"Inventory management","shop":"Shop","shopPay":"Shop Pay","shopifyBlog":"Shopify blog","shopifyBlogDescription":"Business strategy tips","shopifyCaseStudies":"Case Studies","shopifyCaseStudiesDescription":"Learn from successful merchants","shopifyComparison":"Shopify comparison","shopifyComparisonDescription":"Comparison with other platforms","shopifyMigration":"Migrate to Shopify","shopifyMigrationDescription":"Migration checklists, guides and tools","shopifyDevelopers":"Shopify Developers","shopifyDevelopersDescription":"Build with Shopify's powerful APIs","shopifyEditions":"Shopify Editions","shopifyEditionsDescription":"New, innovative Shopify products","shopifyEmail":"Nurture customers","shopifyEmailDescription":"Shopify Email","shopifyFinance":"Shopify Finance","shopifyGold":"Enterprise","shopifyOnlineStore":"Shopify Online store","shopifyPlus":"Enterprise","shopifyPlusDescription":"A commerce solution for growing digital brands","shopifyPointOfSale":"Shopify Point of Sale","shopifySite":"shopify.com","shopifyVsBigCommerce":"Shopify vs. BigCommerce","shopifyVsSalesforce":"Shopify vs. Salesforce","shopifyVsSquare":"Shopify vs. Square","signup":"Sign up","social":"Social media","socialDescription":"Social media integrations","socialMediaStrategy":"Social media strategy","socialMediaStrategyDescription":"Turn social into sales","socialV2":"Market across social","solutions":"Solutions","staffManagement":"Staff management","start":"Start","startYourBusiness":"Start your business","startYourBusinessDescription":"Build your brand","stockPhotography":"Stock photography","storeSetup":"Store set up","storeSetupDescription":"Use Shopify’s powerful features to start selling","storeThemes":"Store themes","storeThemesDescription":"Customize your store","successStories":"Success stories","tax":"Tax","termLoans":"Term Loans","themeStore":"Theme store","themes":"Themes","tiktok":"TikTok","upgradeToPlus":"Upgrade to Plus","videos":"Videos","walmart":"Walmart Marketplace","waysToSell":"Ways to sell","webAddress":"Domain name","websiteBuilder":"Website Builder","whatIsShopify":"What is Shopify?","whatIsShopifyDescription":"How our commerce platform works","whatsNew":"What’s new","youtube":"YouTube"},"footer":{"about":"About","aboutShopify":"About Shopify","accessibility":"Accessibility","affiliateProgram":"Affiliate Program","affiliates":"Affiliates","apiDocs":"API Documentation","appDemo":"App Demo","appDeveloperProgram":"App Developers","appStore":"App Store","ar":"Shopify AR","blog":"Blog","blogTopics":"Blog Topics","brand":"Brand","buildBlack":"Build Black","buildNative":"Build Native","businessNameGenerator":"Business Name Generator ","burst":"Free Stock Photos","buyButton":"Buy Button","capital":"Capital","careers":"Careers","commerceComponents":"Commerce Components","company":"Company","companyInfo":"Company Info","contact":"Contact","contactShopify":"Contact Shopify","countrySelect":"Change your country or region.","countrySelectHeading":"Country/region","devDegree":"Dev Degree","developers":"Developers","documentation":"Shopify Help Center","domainNames":"Domain Names","domains":"Domains","dropshipping":"Dropshipping Business","ecommerce":"Online Store","ecommerceHosting":"Ecommerce Hosting","ecommerceSoftware":"Ecommerce Software","economicGrowth":"Economic Growth","email":"Email","examples":"Examples","experts":"Shopify Partners","featureTour":"Website Builder","features":"Features","forums":"Shopify Community","fulfillment":"Fulfillment","gaming":"Gaming","globalImpact":"Global Impact","hardware":"Hardware","hatchful":"Hatchful","heading":"More resources","helpCenter":"Help Center","hireAnExpert":"Hire a Partner","investors":"Investors","leadership":"Leadership","legal":"Legal","linkpop":"Linkpop","logoGenerator":"Logo Maker","managePrivacy":"Manage Privacy","merchantSupport":"Merchant Support","mobileCommerce":"Mobile Commerce","onlineStore":"Ecommerce Website","onlineStoreBuilder":"Online Store Builder","partnerProgram":"Partner Program","partners":"Partners","payments":"Payments","phoneNumber":"1-888-329-0139","platform":"Platform","pointOfSale":"Point of Sale","posFeatures":"Features","posSoftware":"POS Software","pressAndMedia":"Press and Media","pressReleases":"Press Releases","privacyChoices":"Privacy Choices","privacyPolicy":"Privacy Policy","products":"Products","research":"Research","resources":"Support","sellInStore":"Point of Sale","sellOnline":"Sell Online","sellOnlineTour":"Online Retail","serviceStatus":"Service Status","setUp":"Setup","sfn":"Shopify Fulfillment Network","shipping":"Shipping","shop":"Shop","shopPay":"Shop Pay","shopify":"Shopify","shopifyAcademy":"Shopify Academy","shopifyEvents":"Shopify Events","shopifyExperts":"Shopify Partners","shopifyForEnterprise":"Shopify for Enterprise","shopifyGold":"Enterprise","shopifyLite":"Shopify Lite","shopifyPlus":"Shopify Plus","shoppingCart":"Shopping Cart","sitemap":"Sitemap","social":"Social","socialImpact":"Social Impact","solutions":"Solutions","storeDesign":"Themes","storeThemes":"Store Themes","support":"24/7 support","supportLimited":"Customer Support","sustainability":"Sustainability","termsOfService":"Terms of Service","themeStore":"Theme Store","themeSupport":"Theme Support","themes":"Themes","tools":"Free Tools","topics":"Topics","trustSealsAccessibilityText":"Use Shopify with confidence. Our platform has been assessed and certified by:","video":"Video","videoTutorials":"Video Tutorials"}},"pages/partners/blog/$article/settings":{"images":{"guides-modal-default":"https://cdn.shopify.com/shopifycloud/brochure/assets/content-marketing/blog/guides/default-popup-small-507879111d55acdd759b202ab869ea0b8bd0f4af9f9aaa7c540efe59b8e046db.jpg","guides-modal-photography":"https://cdn.shopify.com/b/shopify-brochure2-assets/1bd4b072dc187a774c9af650d0f16d0b.jpg","guides-modal-seo":"https://cdn.shopify.com/b/shopify-brochure2-assets/63781344c2932de6e553a54b02291692.jpg","subscription":{"image":{"en":"https://cdn.shopify.com/b/shopify-brochure2-assets/c46f986d892538f4b0a15f25692330f7.png?originalWidth=1420\u0026originalHeight=1040"}},"articleNavigation":{"banner":{"en":"https://cdn.shopify.com/b/shopify-brochure2-assets/e570727d45209fec56c410f802faa0fe.png"}}}},"pages/partners/blog/blogSubNav":{"subNav":{"title":"Blog","pageTitle":"Menu","overviewText":"Homepage","links":{"caseStudies":"Case Studies","shopifyNews":"Shopify News","latest":"Latest","more":"More"},"subLinks":{"appDevelopment":"App development","shopifyThemeDevelopment":"Shopify Theme Development","frontEndDevelopment":"Front End Development","inspirationCreativity":"Inspiration \u0026 Creativity","findingNewClients":"Finding New Clients","seeAllTopics":"See All topics"}}},"pages/partners/blog/$article/content":{"articleMetaTitle":"{{title}} ({{year}})","articleNavigation":{"title":"On this page","bannerTitle":"Earn more revenue as a Shopify Partner","bannerSubTitle":"Grow your Shopify expertise and unlock new ways to earn revenue for your own business with the Shopify Partner Program.","bannerHint":"Try Shopify for free, no credit card required.","buttonText":"Become a Partner"},"subscribeBanner":{"title":"Let’s grow your digital business","description":"Get design inspiration, development tips, and practical takeaways delivered straight to your inbox.","placeholder":"Enter email","buttonText":"Get updates","hint":"No charge. Unsubscribe anytime.","successMessage":{"heading":"Thank you for subscription!","contentHtml":"Check your email for instructions."}},"popularPostsTitle":"popular posts","subscribe":{"errors":{"email":"Please enter a valid email address."}},"readMoreLinks":{"title":"Read more"},"guidesCta":{"modal":{"subhead":"Almost there: please enter your email below to gain instant access.","disclaimer":"We'll also send you updates on new educational guides and success stories from the Shopify newsletter. We hate SPAM and promise to keep your email address safe.","submit":"Get updates","success":{"heading":"Thanks for subscribing.","subhead":"You’ll start receiving free tips and resources soon. In the meantime, start building your store with a free trial of Shopify.","cta":"Get started"},"error":"Something went wrong, please try again later!"},"analytics":{"heading":"Free Ebook: Ecommerce Analytics for Beginners","content":"Find out which metrics are the key to establishing and growing your online business. This free guide is the perfect first step in learning about ecommerce analytics.","cta":"Get the free ebook now","modal_headline":"Get Ecommerce Analytics for Beginners delivered right to your inbox."},"back_to_school":{"heading":"The Complete Guide to Back to School Marketing for Retail Stores","content":"Get an update on this year's back to school marketing trends, compare strategies, and build out your plan with this short guide.","cta":"Get your free guide now","modal_headline":"Get the Back to School Marketing Guide delivered right to your inbox.","modal_success_heading":"Thanks for downloading. You'll receive your free download soon. In the meantime, start building your store with a free trial of Shopify."},"brand_storytelling":{"heading":"Free Worksheet: Brand Storytelling","content":"Use this handy exercise as a guide to help you craft a compelling brand story and build a loyal audience through the power of storytelling.","cta":"Get the worksheet","modal_headline":"Get our free Brand Storytelling Worksheet delivered right to your inbox."},"branding":{"heading":"Free Reading List: How to Brand Your Business","content":"A great brand can help your products stand out from the crowd. Get a crash course in small business branding with our free, curated list of high-impact articles.","cta":"Get the free reading list","modal_headline":"Get our Branding reading list delivered right to your inbox."},"businessplan":{"heading":"Free: Business Plan Template","content":"Business planning is often used to secure funding, but plenty of business owners find writing a plan valuable, even if they never work with an investor. That’s why we put together a free business plan template to help you get started.","cta":"Get the template now","modal_headline":"Get the business plan template delivered right to your inbox."},"businessideas":{"heading":"Free: The Big List of Business Ideas","content":"To help you find the inspiration to start, we compiled a list of 100+ in-demand business ideas, broken down into categories like fitness, apparel, and gaming.","cta":"Get the list now","modal_headline":"Get the big list of business ideas delivered right to your inbox."},"case_studies":{"heading":"Free Video Series: Ecommerce Inspiration","content":"Feeling uninspired? Watch some of the world's most successful entrepreneurs share their best advice for new business owners.","cta":"Get the free video series","modal_headline":"Get our Ecommerce Inspiration video series delivered right to your inbox."},"competitive":{"heading":"Free: Competitive Analysis Template","content":"By evaluating the strengths and weaknesses of your competition, you can begin to formulate how to give your company an advantage. Download our free competitive analysis template and gain an edge over the competition.","cta":"Get the template now","modal_headline":"Get the competitive analysis template delivered right to your inbox."},"copywriting":{"heading":"Free Reading List: Copywriting Tactics for Entrepreneurs","content":"Is your website content costing you sales? Learn how to improve your website copy with our free, curated list of high-impact articles.","cta":"Get the free reading list","modal_headline":"Get our Copywriting Tactics reading list delivered right to your inbox."},"customerservice":{"heading":"Free Reading List: Customer Service Strategies","content":"Focusing on customer service can turn negative interactions into positive reviews (and repeat customers). Learn how with our free, curated list of high-impact articles.","cta":"Get the free reading list","modal_headline":"Get the reading list delivered right to your inbox."},"design":{"heading":"Free Reading List: Online Store Design Tips","content":"Your online store's appearance can have a big impact sales. Unleash your inner designer with our free, curated list of high-impact articles.","cta":"Get the free reading list","modal_headline":"Get our Store Design reading list delivered right to your inbox."},"email":{"heading":"Free Ebook: How to Grow Your Ecommerce Business with Email Marketing","content":"Whether you're just getting started or dreaming up your next big campaign, this email marketing guide will provide you with insights and ideas to help your business grow.","cta":"Get the free ebook now","modal_headline":"Get our Email Marketing guide delivered right to your inbox."},"googleshopping":{"heading":"Free Ebook: Google Shopping for Small Businesses","content":"Google Shopping ads are one of the leading traffic sources that can give you the ultimate edge. Discover this hidden gem often overlooked by your competition.","cta":"Get the free ebook now","modal_headline":"Get Google Shopping for Small Businesses delivered right to your inbox."},"hiring_questions":{"heading":"Free Guide: Interview Questions for Hiring Retail Employees","content":"Hiring competent retail employees is becoming increasingly challenging. Use this guide to ask the right questions during the interview process to ensure you hire the right people for your store.","cta":"Get the free guide now","modal_headline":"Get our guide Interview Questions for Hiring Retail Employees delivered right to your inbox.","modal_success_heading":"Thanks for downloading. You'll receive your free download soon. In the meantime, start building your store with a free trial of Shopify."},"holiday_selling_2021":{"heading":"Free Holiday Selling Guide: Top 10 Holiday Selling Tips for Retail Stores","content":"A sale can happen anywhere, at any time. Use our top 10 strategies to unify your customer touch points and set yourself up for holiday success.","cta":"Get the free guide now","modal_headline":"Get our Top 10 Holiday Selling Tips for Retail Stores delivered right to your inbox.","modal_success_heading":"Thanks for downloading. You'll receive your free download soon. In the meantime, start building your store with a free trial of Shopify."},"inventory_templates":{"heading":"5 Free Templates to Better Understand Your Inventory","content":"Calculate your businesses cost of goods sold, sell through rate, inventory turnover, saftey stock, economic order quantity, or reorder point with ease using these custom templates. (No math required!)","cta":"Get your free templates","modal_headline":"Get your Inventory Templates delivered right to your inbox.","modal_success_heading":"Thanks for downloading. You'll receive your free templates soon. In the meantime, start building your store with a free trial of Shopify."},"opening_closing_checklist":{"heading":"Free Checklist for Opening and Closing Your Store","content":"Ensure all protocols and procedures are completed each time you open and close your store with this handy, easy-to-follow checklist.","cta":"Get the free checklist","modal_headline":"Get our Opening and Closing Checklist delivered right to your inbox.","modal_success_heading":"Thanks for downloading. You'll receive your free download soon. In the meantime, start building your store with a free trial of Shopify."},"optimization":{"heading":"Free Reading List: Conversion Optimization for Beginners","content":"Turn more website visitors into customers by getting a crash course in conversion optimization. Access our free, curated list of high-impact articles below.","cta":"Get the free reading list","modal_headline":"Get our Conversion Optimization reading list delivered right to your inbox."},"parentpreneur":{"heading":"Playbook for the Aspiring Parentpreneur","content":"Unleash your creativity and turn your passion into a thriving business with our Parentprenuer brainstorming guide. Discover new ideas, set realistic goals, and map out a plan for success.","cta":"Download now","modal_headline":"Check your inbox for your copy of the Parentpreneur Playbook."},"phonecases":{"heading":"Get a Free Phone Case Business in a Box","content":"Free high quality phone case stock photos and a list of some places you can look to find phone case suppliers to work with.","cta":"Download startup bundle","modal_headline":"Get our startup bundle delivered right to your inbox."},"photography":{"heading":"Free Guide: DIY Product Photography","content":"Learn how to take beautiful product photos on a budget with our free, comprehensive video guide.","cta":"Get your free guide","modal_headline":"Get our DIY Guide to Beautiful Product Photography delivered right to your inbox."},"popup_guide":{"heading":"Pop-Up Shop Quickstart Guide","content":"Thinking about hosting a Pop-Up Shop? This free guide includes 3 checklists that help frame what you're looking to accomplish through your Pop-Up Shop, different types of Pop-Up Shops, and design ideas to help get you started.","cta":"Get your free guide","modal_headline":"Get your Pop-Up Shop Quickstart Guide delivered right to your inbox.","modal_success_heading":"Thanks for downloading. You'll receive your free download soon. In the meantime, start building your store with a free trial of Shopify."},"pressrelease":{"heading":"Free: Press Release Template","content":"To help you get started, we put together this template to help you structure your story using a common press release format. You can replace each component with your own information and adapt it according to your needs.","cta":"Get the template now","modal_headline":"Get the press release template delivered right to your inbox."},"productivity":{"heading":"Free Reading List: Ecommerce Motivation","content":"Having trouble focusing on growing your small business? Get access to our free, curated list of high-impact productivity articles.","cta":"Get the free reading list","modal_headline":"Get our Ecommerce Motivation reading list delivered right to your inbox."},"products":{"heading":"Free Guide: How to Find a Profitable Product to Sell Online","content":"Excited about starting a business, but not sure where to start? This free, comprehensive guide will teach you how to find great, newly trending products with high sales potential.","cta":"Get the free guide","modal_headline":"Get How To Find A Product To Sell Online: The Definitive Guide PDF delivered right to your inbox."},"retail_marketing":{"heading":"Free Download: From Clicks to Customers: How to Measure Your Retail Store's Marketing Success","content":"Every marketing campaign is an investment of your time, energy, and money. Do you ever wonder if your efforts were worth it? Read this guide and build a framework to plan, track, and measure the success of retail marketing campaigns.","cta":"Get your free guide","modal_headline":"Get your free Retail Marketing Success PDF delivered right to your inbox.","modal_success_heading":"Thanks for downloading. You'll receive your free download soon. In the meantime, start building your store with a free trial of Shopify."},"retention_audit":{"heading":"Free Download: Retention Audit Checklist","content":"Struggling with customer retention? This free checklist will help you build a retention mindset throughout your company by auditing retention strategies at every level of your business.","cta":"Get your free checklist","modal_headline":"Get this free Retention Audit Checklist PDF delivered right to your inbox.","modal_success_heading":"Thanks for downloading. You'll receive your free download soon. In the meantime, start building your store with a free trial of Shopify."},"rotating_schedules":{"heading":"Free Download: Rotating Schedules Templates","content":"Struggling to keep your stores fully staffed and running smoothly? Consider implementing a rotating shift program. Download these free templates to find the right schedule for you and your employees.","cta":"Get your free templates","modal_headline":"Get these free Rotating Schedules Templates delivered right to your inbox.","modal_success_heading":"Thanks for downloading. You'll receive your free download soon. In the meantime, start building your store with a free trial of Shopify."},"seo":{"heading":"Free Download: SEO Checklist","content":"Want to rank higher in search results? Get access to our free, checklist on search engine optimization.","cta":"Get the free checklist","modal_headline":"Get our SEO Checklist delivered right to your inbox."},"sfn_interview":{"heading":"Free Checklist: How to Interview a Third Party Logistics Provider","content":"Outsourcing fulfillment is a significant investment. Here’s a checklist of questions to ask in preparation of choosing the right fulfillment provider and transitioning your business.","cta":"Get the free checklist","modal_headline":"Get the checklist delivered right to your inbox."},"sfn_outsource":{"heading":"Free Checklist: Are You Ready to Outsource Your Fulfillment?","content":"Trusting a third party logistics (3PL) provider with your inventory and your customer experience is a significant investment. These questions will help determine if it's time to outsource your fulfillment and take the next step in growing your business.","cta":"Get the free checklist","modal_headline":"Get the checklist delivered right to your inbox."},"shipping":{"heading":"The Shopify guide to shipping and fulfillment","content":"Boost customer satisfaction while driving sales growth for your ecommerce business with an effective shipping and fulfillment strategy. Use this guide to create a plan that covers all aspects of shipping and fulfillment, from how much to charge your customers to choosing the right fulfillment method.","cta":"Download now and start optimizing your operations","modal_headline":"Get our shipping and fulfillment guide delivered right to your inbox.","modal_success_heading":"Thanks for downloading. You'll receive your free copy soon. In the meantime, start building your store with a free trial of Shopify."},"social":{"heading":"Social media strategy and planning templates","content":"Ready to get started with your social media strategy? These free, customizable templates give you tools to plan and execute a strategy that connects you with your target audience while keeping your content calendar organized.","cta":"Download now and start seeing results","modal_headline":"Get your social media strategy and planning templates delivered right to your inbox.","modal_success_heading":"Thanks for downloading. You'll receive your free copy soon. In the meantime, start building your store with a free trial of Shopify."},"social_template":{"heading":"Social media strategy and planning templates","content":"Ready to get started with your social media strategy? These free, customizable templates give you tools to plan and execute a strategy that connects you with your target audience while keeping your content calendar organized.","cta":"Download now and start seeing results","modal_headline":"Get social media strategy and planning templates delivered right to your inbox.","modal_success_heading":"Thanks for downloading. You'll receive your free download soon. In the meantime, start building your store with a free trial of Shopify."},"store_layouts":{"heading":"Free Download: Store Layout Templates","content":"Trying to decide which layout is right for your store? Download these free templates to learn which types of layouts work best for different industries and draw inspiration for your own design.","cta":"Get your free templates","modal_headline":"Get these free templates delivered right to your inbox.","modal_success_heading":"Thanks for downloading. You'll receive your free download soon. In the meantime, start building your store with a free trial of Shopify."},"swot":{"heading":"Free: SWOT Analysis Template","content":"Get your free SWOT Analysis Template. Use this free PDF to future-proof your business by identifying your strengths, weaknesses, opportunities, and threats.","cta":"Get the template now","modal_headline":"Get the SWOT analysis template delivered right to your inbox."},"tax_season":{"heading":"Free Download: 6 Steps to Get Your Business Ready for Tax Season","content":"Tax season is stressful for any business owner. This guide will go through the process of filing income taxes in America and provide you with checklists to keep you organized and prepared.","cta":"Get your free guide now","modal_headline":"Get your free guide","modal_success_heading":"Thanks for downloading. You'll receive your free copy soon. In the meantime, start building your store with a free trial of Shopify."},"trust":{"heading":"Free: Shopify Store Trust Checklist","content":"Shopify’s research team conducted a series of in-depth interviews with North American shoppers to learn how customer trust is formed in online stores. This checklist is a summary of their findings, created to help business owners understand what essential aspects of their online store experience creates trust among customers, along with the trust-busting mistakes to avoid.","cta":"Get the checklist now","modal_headline":"Get the checklist delivered right to your inbox."},"ttp_guide":{"heading":"Free Download: The Online Sellers Guide to In-Person Sales","content":"In-person selling is more approachable than ever. This guide covers why selling in person can reduce customer acquisition costs, how to build a plan that will scale with your business, and tactics from ecommerce sellers that made the move successfully.","cta":"Get your free guide now","modal_headline":"Get your free guide","modal_success_heading":"Thanks for downloading. You'll receive your free copy soon. In the meantime, start building your store with a free trial of Shopify."},"twitter":{"heading":"Free Ebook: Twitter Marketing for Small Businesses","content":"This guide will teach you everything from earning your first followers to getting the most out of Twitter’s advertising platform. Claim your free download to get instant access.","cta":"Get the free ebook now","modal_headline":"Get Twitter Marketing for Small Businesses delivered right to your inbox."},"video":{"heading":"Free Reading List: Video Marketing Tips and Tricks","content":"Video marketing is a powerful tool you can’t afford to ignore. Get a crash course with our free, curated list of high-impact articles.","cta":"Get the free reading list","modal_headline":"Get the reading list delivered right to your inbox."}},"partnersSignup":{"service_partner":{"heading":"Grow your business with the Shopify Partner Program","content":"Whether you offer marketing, customization, or web design and development services, the Shopify Partner Program will set you up for success. Join for free and access revenue share opportunities, tools to grow your business, and a passionate commerce community.","cta":"Sign up"},"app_developer":{"heading":"Build apps for Shopify merchants","content":"Whether you want to build apps for the Shopify App Store, offer custom app development services, or are looking for ways to grow your user base, the Shopify Partner Program will set you up for success. Join for free and access educational resources, developer preview environments, and recurring revenue share opportunities.","cta":"Sign up"},"affiliate":{"heading":"Become a Shopify Affiliate","content":"Use your voice to inspire entrepreneurship around the world. Whether you’re an existing partner or new to the Shopify Partner Program, apply to become a Shopify Affiliate and earn commission by referring your audience to Shopify.","cta":"Apply now"},"general":{"heading":"Grow your business with the Shopify Partner Program","content":"Whether you offer web design and development services or want to build apps for the Shopify App Store, the Shopify Partner Program will set you up for success. Join for free and access revenue share opportunities, developer preview environments, and educational resources.","cta":"Sign up"}},"authorSection":{"headingHtml":"Share article","updated":"Last updated","byAuthor":"by \u003cwrapper\u003e\u003cname\u003e{{authorName}}\u003c/name\u003e\u003c/wrapper\u003e","byAuthor_withLink":"by \u003cwrapper\u003e\u003curl\u003e\u003cname\u003e{{authorName}}\u003c/name\u003e\u003c/url\u003e\u003c/wrapper\u003e","reviewed":"Reviewed","written":"Written"},"articleHeader":{"blogLink":{"text":"blog"}},"hero":{"heading":"Become a Shopify Partner.","subhead":"Unlock business growth.","image":{"alt":"My alt."},"buttonText":"Join Today"},"subscription":{"heading":"Let’s grow your digital business","subhead":"Get design inspiration, development tips, and practical takeaways delivered straight to your inbox.","disclaimer":"No charge. Unsubscribe anytime.","conversionCta":{"text":"Get updates","emailPlaceholder":"Email here","successMessage":{"heading":"Thank you for subscription!","contentHtml":"Check your email for instructions."}}},"latestArticles":{"heading":"Latest from Shopify","link":{"text":"See all"}},"sellAnywhere":{"headingHtml":"Grow your business with the Shopify Partner Program","buttonText":"Join Today"},"textCta":{"href":"{{deeplinkFreeTrial}}","text":"Click here to start selling online now with Shopify"},"rightColSideBanner":{"title":"Imagine my business","subTitle":"100+ product updates to build more productive, creative, and powerful commerce experiences","buttonText":"Learn more"}}},"en-NG":{"pages/partners/blog/$article/content":{},"global":{},"pages/partners/blog/blogSubNav":{},"pages/partners/blog/$article/settings":{}}},"pricing":{"annualDiscountPercentage":25,"basicAnnualPrice":"\u003cspan\u003e$24.00 USD\u003c/span\u003e","googleCountryOffer":"₦300","minimumMonthlyPrice":"$5","minimumMonthlyPriceCurrency":"USD","paidTrialAmount":"$1","paidTrialMonths":3,"posProPriceUsd":"$89","posRetailLocations":"1,000","promoAmount":{"amount":1,"currencyCode":"USD","currencySymbol":"$"},"signupTypes":["paid_trial_experience"],"trialLength":3,"usd":"USD"}},"root":null},"actionData":null,"errors":null}};</script><script type="module" async="">; import * as route0 from "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/root-Dsv-zn--.js"; import * as route1 from "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/layout-BQqc8FJm.js"; import * as route2 from "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/route-Ck7zVXtx.js"; window.__remixManifest = { "entry": { "module": "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/entry.client-CCw1D0Zu.js", "imports": [ "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/components-QnKyvIo_.js" ], "css": [] }, "routes": { "root": { "id": "root", "path": "", "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/root-Dsv-zn--.js", "imports": [ "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/components-QnKyvIo_.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/I18N-B4RqkTU0.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/Wrapper-Dq1sM23_.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/Image-PsEj76j4.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/Section-HFb-18Tj.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/HeadingGroup-D0WZVkoJ.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/SideBySide-CajnQg_z.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/Provider-DIowsu2f.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/SectionHeader-Bbl4a3no.js" ], "css": [] }, "pages/shopify.com/($locale)~~layout": { "id": "pages/shopify.com/($locale)~~layout", "parentId": "root", "path": ":locale?", "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/layout-BQqc8FJm.js", "imports": [ "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/components-QnKyvIo_.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/I18N-B4RqkTU0.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/preload-font-ZmawZdZM.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/Provider-DIowsu2f.js" ], "css": [] }, "pages/shopify.com/($locale)/partners/blog/$article": { "id": "pages/shopify.com/($locale)/partners/blog/$article", "parentId": "pages/shopify.com/($locale)~~layout", "path": "partners/blog/:article", "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/route-Ck7zVXtx.js", "imports": [ "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/components-QnKyvIo_.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/I18N-B4RqkTU0.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/Wrapper-Dq1sM23_.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/PageLayout-DP2wFn7I.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/XIcon.svg-C1jBKNqN.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/NavigationSearch-C8UeQfnV.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/HeadingGroup-D0WZVkoJ.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/index-B1cF1y-e.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/Image-PsEj76j4.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/BlogCard-e6uLcD4Y.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/Conversion-DWUSSQF2.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/Section-HFb-18Tj.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/constants-Cm4ZPFll.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/Image-Dl2Sgi1E.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/constants-Cs9nQPfb.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/partnersHelpers-BlRjfC34.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/BaseInput-DpRjHB7D.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/utils-CX6dXFB8.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/ArticleCarousel-0LF26-_q.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/article-Diuv5CR1.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/BlogConversion-DA9DyWoi.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/LatestSection-qOtEhVTl.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/blog-C7ergCON.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/PartnersFooter-QdAqYrz9.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/useBlogPageTitle-CStAzZdB.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/handle-BeFHnPVi.js" ], "css": [] }, "pages/shopify.com/($locale)/partners/blog": { "id": "pages/shopify.com/($locale)/partners/blog", "parentId": "pages/shopify.com/($locale)~~layout", "path": "partners/blog", "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/route-DFEBr153.js", "imports": [ "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/components-QnKyvIo_.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/I18N-B4RqkTU0.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/Wrapper-Dq1sM23_.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/PageLayout-DP2wFn7I.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/XIcon.svg-C1jBKNqN.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/NavigationSearch-C8UeQfnV.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/constants-Cs9nQPfb.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/HeadingGroup-D0WZVkoJ.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/index-B1cF1y-e.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/BlogCard-e6uLcD4Y.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/Conversion-DWUSSQF2.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/partnersHelpers-BlRjfC34.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/blog-C7ergCON.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/BlogConversion-DA9DyWoi.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/PartnersFooter-QdAqYrz9.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/useBlogPageTitle-CStAzZdB.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/Hero-AS27qcgh.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/ArticleCarousel-0LF26-_q.js", "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/handle-BeFHnPVi.js" ], "css": [] }, "pages/shopify.com/$": { "id": "pages/shopify.com/$", "parentId": "root", "path": "*", "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/route-K6Dvbx-E.js", "imports": [], "css": [] } }, "url": "https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/manifest-ae6e93bc.js", "version": "ae6e93bc" }; window.__remixRouteModules = {"root":route0,"pages/shopify.com/($locale)~~layout":route1,"pages/shopify.com/($locale)/partners/blog/$article":route2}; import("https://cdn.shopify.com/shopifycloud/brochure-iii/production-blog/assets/entry.client-CCw1D0Zu.js");</script></body></html>