Cloudinary Blog

Integrating Cloudinary Into Shopify: The Technical Details

Integrating Cloudinary into Shopify - the Technical Details

Following Naveen's post on integrating Cloudinary into your Shopify store, here are all the technical details you need to:

  • Upload images automatically from Cloudinary to Shopify
  • Deliver Shopify product images from Cloudinary
  • Integrate Cloudinary's Product Gallery into Shopify.

Note that the above tasks are just the starting points for making Cloudinary DAM work with Shopify through APIs and showcasing the benefits, not an official procedure for integrating Cloudinary with Shopify. Feel free to expand on these tasks to create your own solutions.

Uploading Images from Cloudinary to Shopify

Here's the dilemma: you want to maintain a single source of truth for all your images and you've chosen Cloudinary because of the great DAM features that it offers, but you also need the images to be uploaded to Shopify. So, do you store them on Cloudinary, or Shopify? The answer is both. Keep your single source of truth as Cloudinary, but use the Cloudinary-Shopify Zap to upload them to Shopify automatically, triggered simply by adding a tag in Cloudinary.

In order for Shopify to know to which product an image belongs, add the product ID as a tag and contextual metadata to the image in Cloudinary. So, for a product ID of 4923101380653, add:

  • Contextual metadata: Key: productid and Value: 4923101380653
  • Tag: 4923101380653

Cloudinary image with tags and metadata

When you add the toshopify tag, it triggers the Zap to upload the image to the specified product page in Shopify:

Shopify product with image uploaded

You can find information on downloading the Zap, and a video tutorial showing how to configure it, in Cloudinary's documentation.

Currently, the Zap only works for images, but Shopify has recently introduced its GraphQL API which could be used to allow videos to be uploaded in a similar way in the future.


5 Visual Engagement Tactics That Convert Online Buyers


Imported Metadata

When a Cloudinary image is uploaded to Shopify, it includes all metadata and tags:

  • Alt text for the image in Shopify is taken from the Description contextual metadata entry in Cloudinary.
  • Any tags that are applied in Cloudinary are transferred across to Shopify, aggregated to the product.
  • The value of the position key, set in the contextual metadata in Cloudinary, is used to specify the position of the image in Shopify's product gallery. For example, setting position to 3 places the image third in the gallery. If you want the image to be the main image that's shown in the catalog, set position to 1. Note that when Cloudinary's product gallery is used instead of Shopify's, the assets are ordered alphanumerically by public ID.

Delivering Images from Cloudinary

Using the Cloudinary-Shopify Zap gives you an easy way to upload your Cloudinary images to Shopify, but to make use of Cloudinary's on-the-fly delivery features such as optimizations and transformations you also need to make changes to Shopify's underlying JSON and liquid files.

Note
The code relies on the images being present in Shopify as well as Cloudinary, so be sure to set up the Cloudinary-Shopify Zap in addition to these changes.

  1. Download the zip file containing all the code changes that we've made to Shopify's default theme. These files allow you to copy and paste the Cloudinary specific changes into your own themes.

  2. Log into your Shopify admin console and navigate to Online Store > Themes, then click Actions > Edit code for the theme you want to change.

    Shopify admin console

  3. Select settings_schema.json under the Config folder. From settings_schema.json in the zip file, copy and paste the block with "name": "Cloudinary".

    Shopify settings_schema.json file

  4. Under Snippets click Add a new snippet, and create a new snippet called cloudinary.liquid. Copy and paste the whole contents of cloudinary.liquid in the zip file.

    Shopify cloudinary.liquid file

  5. Select theme.liquid under the Layout folder. From theme.liquid in the zip file, copy and paste the code to add the Cloudinary JavaScript files.

    Shopify theme.liquid file

  6. Select product-card-grid.liquid under the Snippets folder. From product-card-grid.liquid in the zip file, copy and paste the whole block starting from the comment, This whole block is to get cloudinary urls.

    Shopify product-card-grid.liquid file

  7. Select settings_data.json under the Config folder. From settings_data.json in the zip file, copy and paste the Cloudinary settings at the top of the file, and replace shopify-demo with the name of your cloud.

    Shopify settings_data.json file

Having made all the code changes, navigate to Online Store > Themes then click Actions > Edit in online store for the theme you just changed. You'll see Cloudinary in Theme Settings.

Shopify theme settings

In the Cloudinary settings you can configure whether or not to enable delivery of assets from Cloudinary, point to a different cloud and change your delivery URL.

Shopify theme settings

With Cloudinary enabled, you can inspect the images on your published Shopify site, and see that they are now being delivered from Cloudinary.

Shopify theme settings

Notice how the URL includes the transformations from cloudinary.liquid:

Copy to clipboard
  {%assign cld_optimization_options = "f_auto,q_auto" %}
  {%assign cld_responsive_options = "w_auto,c_scale" %}
  • f_auto and q_auto deliver your media at the optimal format and quality for the end-user, making your pages load super fast.
  • The options, w_auto,c_scale, enable responsive resizing of your assets, so your pages will look great no matter what device your customer is using.

You can even add other transformations to customize all the media on your site.

Using Cloudinary's Product Gallery

The same code bundle also includes an integration with Cloudinary's Product Gallery. This replaces the Shopify product gallery on each product page. For each product, all the images and videos from the configured Cloudinary account that are tagged with the product ID, are automatically added to the product gallery. There's no need to upload these assets to Shopify.

Here are the additional steps you need:

  1. Back in the code editor, select product-template.liquid under the Sections folder. From product-template.liquid in the zip file, copy and paste the code from the Cloudinary product gallery comment to Cloudinary changes end.

    Shopify settings_data.json file

  2. Select theme.scss.liquid under the Assets folder. From theme.scss.liquid in the zip file, copy and paste the CSS within the comments starting /* Cloudinary changes.

    Shopify settings_data.json file

Now, go ahead and tag some images and videos in Cloudinary with one of your product IDs, and see them magically appear in the product's gallery. It'll look something like this:

Shopify settings_data.json file

There are many ways in which the product gallery can be configured, so it's worth taking a look at the Product Gallery Demo to try out some of the customization options.

Summing Up

Now you've seen how easy it is to upload your images from Cloudinary to Shopify, deliver optimized and responsive media, and integrate Cloudinary's product gallery, we hope you'll give it a go and reward your customers with a superior shopping experience. Let us know how you get on!

Recent Blog Posts

Automation Frees Up PetRescue’s Staff to Help Pets Find Their Forever Homes

As we spend more time at home, many of us are adopting pets for the joy, companionship and a surprising range of health benefits. In Australia, where our nonprofit customer PetRescue is located, there’s a shortage of pets to adopt. Last August, the Guardian reported that dog shelters in Australia emptied and adoption fees for puppies were running as high as $AUS1800.

Read more
Cloudinary and Contentful Make Modern Content Management Easier

I am pleased to share that Cloudinary and Contentful have joined forces to further streamline the creation, processing, and delivery of online content through Cloudinary’s digital asset management (DAM) solution and advanced transformation and delivery capabilities for images and video. What’s more, the partnership delivers a headless approach to DAM. By leveraging APIs for media management tasks, marketers and developers alike benefit from an integrated stack of optimized assets for optimization and automation. As a result, page loads are fast and beautiful, and at scale—with less overhead and effort.

Read more
Introducing Cloudinary's Nuxt Module

Since its initial release in October 2016 by the Chopin brothers as a server-side framework that runs on top of Vue.js, Nuxt (aka Nuxt.js) has gained prominence in both intuitiveness and performance. The framework offers numerous built-in features based on a modular architecture, bringing ease and simplicity to web development. Not surprisingly, Nuxt.js has seen remarkable growth in adoption by the developer community along with accolades galore. At this writing, Nuxt has earned over 30K stars on GitHub and 96 active modules with over a million downloads per month. And the upward trend is ongoing.

Read more
How Quality and Quantity can go Hand in Hand

When it comes to quality versus quantity, you’ll often hear people say, “It’s the quality that counts, not the quantity”. While that’s true in many situations, there are also cases where you want both quality and quantity. You may have thousands of images on your website and you want them all to look great. This is especially important if your website allows users to upload their own content, for example, to sell their own products or services. You don't want their poor quality images to reflect badly on your brand.

Read more
Product Videos 101: What Makes Them Great?

A product’s benefits and usage, including its value proposition, features, and instructive details, are best demonstrated through video. Product-video types vary, depending on the funnel, channel, and audience, the most popular ones being demos, reviews, installation, and how-tos.

Read more