How Shopify is Taking on Amazon as the E-Commerce Leader

Power Retail By Power Retail | 27 May 2020

Shopify has a plan for small to medium online retailers and is looking to quash Amazon in the bid for e-commerce leadership. 

Earlier in 2020, Shopify launched its Shopify Capital program in Canda, which offers cash loans for small to medium Canadian retailers, from $200 CAD to $500,000 CAD.

These loans require no credit checks and offer stability for Canadian retailers during COVID-19 and accelerate further e-commerce growth in a truly digital era.

Shopify is now taking the world by storm, penetrating the industry in every way possible.

This month alone, Shopify unveiled the launch of its new partnership with Facebook, another strategic partnership with CoinPayments and the launch of its Reunite event.

Amid the pandemic, Shopify has debuted a series of services that aim to further infiltrate the e-commerce world, and possibly quash the likes of Amazon in the process.

These services include Shopify Local Delivery App, where retailers have the opportunity to offer local delivery for customers nearby. Not only is this a great way to cut down of last-mile costs, but it’s also aptly timed with lockdown measures and strict regulations surrounding distancing.

Shopify also launched its Shop Pay functionality, which boasts a 4x faster checkout process and 18 percent higher conversion rate for returning customers.

So, is this is the start of something seismic for Shopify? In a report from the Bank of America, e-commerce penetration took an increase from 16 percent at the end of 2019 to 27 percent at the end of April.

In Australia, this is a similar story – in April, the ABS reported that online shopping accounted for ten percent of all retail spend in April despite a 17.9 percent downfall in retail turnover.

So, what does this have to do with Amazon? Well, as smaller retailers continue to use Amazon services, there is an increasing need for other services to act as competition.

There have been reports that Amazon uses sales data to create competing products, there’s an increasing amount of counterfeit products – which resulted in Nike to abandon the platform entirely.

Furthermore, Amazon is known for harvesting data from retailers at a price and doesn’t give retailers access to said data.

So, in comes Shopify – the platform that is offering small and medium retailers a somewhat refreshing way to do business.

According to Harvey Finkelstein, Shopify’s COO “New stores created on Shopify grew 62 percent between March 13 and April 24, compared to the prior six weeks.”

“The number of consumers estimated to have purchased for the 1st time from any Shopify merchant grew eight percent and from merchants they’d never shopped at before by 45 percent between March 13 and April 24, compared to the six-week period immediately prior,” he said in a tweet.

Of course, Shopify isn’t the only platform to update its shopping capabilities. Facebook launched its Facebook Shop functionality, and while it’s a seemingly interesting concept for small retailers, many have complained that it’s similar to Amazon in that it makes retailers directly compete with each other for ad space.

In the last three months, Shopify’s shares have gained 882 percent in the past three months. Its first-quarter results were ‘stellar’, thanks to the launch oft he new products aimed at smaller retailers.

As the company continues to launch merchant-friendly platforms to cater to the demand for online shopping, the divide between Amazon and Shopify will continue to grow. Of course, they’re seen on opposite ends of the spectrum, and only time will tell if Shopify will overrule the leader.

Power Retail is dedicated to providing critical and live e-commerce retailer benchmarking data and shopper insights for the online retail industry. Click here to find out more about Power Retail E-Commerce Intelligence or here to sign-up for the free weekly Pulse Newsletter for more essential online retail content.


2 thoughts on “How Shopify is Taking on Amazon as the E-Commerce Leader”

  1. Ana Shan says:

    Amazing blog on the changes in Retail area! Shipping is a huge cost to any retailer. Especially for small retailers, when their bottom lines are being eaten by their shipping costs. If they are using any major shipping carrier to ship their products, they can use a shipment monitoring service and audit their invoices. These services detect service errors and get back refunds on them. This thereby reuces shipping costs effectively! Check out Audit Shipment, that provides such a service! (

  2. Ohnemus Isabelle says:

    Enjoyed reading this great blog! Indeed small and medium retailers suffer from shipping costs including returns and in particular in apparel. With the pandemic, returned clothes have to be even more carefully reconditioned and sanitized before being re-sold. This is an additional cost for them. Check out how EyeFitU ( helps fashion retailers during Covid19.

Leave a Reply

Your email address will not be published. Required fields are marked *

[gravityform id="11" title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper fix-om-styling_wrapper' id='gform_wrapper_11' ><div id='gf_11' class='gform_anchor' tabindex='-1'></div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_11' id='gform_11' class='fix-om-styling' action='/in-focus/how-shopify-is-taking-on-amazon-as-the-e-commerce-leader/#gf_11'> <div class='gform_body'><ul id='gform_fields_11' class='gform_fields top_label form_sublabel_below description_below'><li id='field_11_2' class='gfield gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible' ><label class='gfield_label' for='input_11_2' >Email Address<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_11_2' type='text' value='' class='large' placeholder='Email' aria-required="true" aria-invalid="false" /> </div></li><li id='field_11_3' class='gfield gfield_contains_required field_sublabel_hidden_label field_description_below hidden_label gfield_visibility_visible' ><label class='gfield_label gfield_label_before_complex' >Name<span class='gfield_required'>*</span></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name' id='input_11_3'> <span id='input_11_3_3_container' class='name_first' > <input type='text' name='input_3.3' id='input_11_3_3' value='' aria-label='First name' aria-required="true" aria-invalid="false" placeholder='First Name'/> <label for='input_11_3_3' class='hidden_sub_label screen-reader-text'>First</label> </span> <span id='input_11_3_6_container' class='name_last' > <input type='text' name='input_3.6' id='input_11_3_6' value='' aria-label='Last name' aria-required="true" aria-invalid="false" placeholder='Last Name'/> <label for='input_11_3_6' class='hidden_sub_label screen-reader-text'>Last</label> </span> </div></li><li id='field_11_5' class='gfield gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible' ><label class='gfield_label' for='input_11_5' >Company / Organisation<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_5' id='input_11_5' type='text' value='' class='large' placeholder='Company' aria-required="true" aria-invalid="false" /></div></li><li id='field_11_6' class='gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible' ><input name='input_6' id='input_11_6' type='hidden' class='gform_hidden' aria-invalid="false" value='NOT PROVIDED' /></li><li id='field_11_7' class='gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible' ><input name='input_7' id='input_11_7' type='hidden' class='gform_hidden' aria-invalid="false" value='NOT PROVIDED' /></li><li id='field_11_8' class='gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible' ><input name='input_8' id='input_11_8' type='hidden' class='gform_hidden' aria-invalid="false" value='NOT PROVIDED' /></li><li id='field_11_9' class='gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_11_9' >Phone</label><div class='ginput_container'><input name='input_9' id='input_11_9' type='text' value='' /></div><div class='gfield_description' id='gfield_description__9'>This field is for validation purposes and should be left unchanged.</div></li> </ul></div> <div class='gform_footer top_label'> <button type="submit" class="button-3" id="gform_submit_button_11">SUBSCRIBE</button> <input type='hidden' name='gform_ajax' value='form_id=11&amp;title=&amp;description=&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_11' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='11' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_11' value='WyJbXSIsIjRjNDYzMzMwNzM3OTFjM2ZlOGZhNjY2ZDA4ZDVlMDcyIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_11' id='gform_target_page_number_11' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_11' id='gform_source_page_number_11' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_11' id='gform_ajax_frame_11' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type='text/javascript'>jQuery(document).ready(function($){gformInitSpinner( 11, '' );jQuery('#gform_ajax_frame_11').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_11');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_11').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_11').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_11').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_11').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_11').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_11').val();gformInitSpinner( 11, '' );jQuery(document).trigger('gform_page_loaded', [11, current_page]);window['gf_submitting_11'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_11').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_11').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [11]);window['gf_submitting_11'] = false;}, 50);}else{jQuery('#gform_11').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [11, current_page]);} );} );</script><script type='text/javascript'> jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 11) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); }} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [11, 1]) } ); </script>