Skip to main content
Solved

Selecting specific product image in Static Product Block

  • January 2, 2026
  • 6 replies
  • 55 views

Forum|alt.badge.img+2

We often create grids of products in our emails, but we like to select which specific image is displayed for each product — sometimes a cropped shot, sometimes a flat lay — rather than always using the hero/first image from Shopify. While all of the product’s images are in Shopify, there’s currently no way to choose which one appears in the product block. At the moment, we have to build tables and manually upload the exact image we want to use, which requires linking each one individually.

Does anyone have a workaround for how to use the product blocks, but select the image? Or know if this is something Klaviyo is working on?

 

Thank you!

Best answer by Byrne C

Hey ​@caitmcswny,

I have a solution that’s a little less manual than uploading an image manually every time you want to show an item’s alternate image. It involves using a catalog lookup tag in an image block to pull the specific image you want right from the catalog. Here’s how you’d make this happen:

  1. Add an image block to your template.
  2. When selecting an image to use, select “Dynamic image” instead of image library/upload image.
  3. Add in this tag: {% catalog ItemID %}{{ catalog_item.metadata|lookup:'images'|lookup:'1'|lookup:'src' }}{% endcatalog %}
  4. Replace ItemID with the actual ID of the item you want to show.
  5. In the tag, you’ll notice lookup:’1’. This means that the email will look up the product’s second image (because 0 is reserved for the first image). Change ‘1’ to whatever number you’d like. 1 for the second image, 2 for the third image, ect.
  6. Save the image block.

While you’ll still have to check the item ID in the catalog, you won’t have to download an image from Shopify, then re-upload it into Klaviyo, saving you time. If you save the tag somewhere, so you can reference it in the future, this should be a fairly quick process!

6 replies

CJamaechi
Problem Solver III
Forum|alt.badge.img+7
  • Problem Solver III
  • January 5, 2026

We often create grids of products in our emails, but we like to select which specific image is displayed for each product — sometimes a cropped shot, sometimes a flat lay — rather than always using the hero/first image from Shopify. While all of the product’s images are in Shopify, there’s currently no way to choose which one appears in the product block. At the moment, we have to build tables and manually upload the exact image we want to use, which requires linking each one individually.

Does anyone have a workaround for how to use the product blocks, but select the image? Or know if this is something Klaviyo is working on?

 

Thank you!

Hey,

I totally get what you mean, this is a common headache with Klaviyo. Right now, the product blocks just grab the first image from Shopify, and there isn’t a way to pick a different one directly.

Here’s how I solved it in the past:

  1. Use a custom image

    • Instead of relying on Shopify’s main product image, you can add a place in Shopify to store the exact image you want for emails.

    • Think of it like a “shortcut” you paste the image you want in a spot on the product page, and then in your email, you tell Klaviyo to use that image instead of the default one.

    • This way, your email can show a cropped shot, a flat lay, or whatever style you want, without having to manually upload each image every time.

  2. Build the grid yourself

    • Like you’re doing now, manually creating the table and uploading the images works too. It’s a bit more work, but you get full control.

  3. Swap the featured image

    • Another simple option is to temporarily make the image you want the main image in Shopify. That way, the product block will automatically pull the one you want for that email.

There isn’t a simple “choose any image” button yet, so these are usually the easiest ways to get the look you want without rebuilding everything every time.

Let me know if that helps ✌


Forum|alt.badge.img+2
  • Author
  • Problem Solver I
  • January 6, 2026

Thank you so much! In your note “then in your email, you tell Klaviyo to use that image instead of the default one.” - where do you do this in Klaviyo?


Byrne C
Community Manager
Forum|alt.badge.img+28
  • Community Manager
  • Answer
  • January 6, 2026

Hey ​@caitmcswny,

I have a solution that’s a little less manual than uploading an image manually every time you want to show an item’s alternate image. It involves using a catalog lookup tag in an image block to pull the specific image you want right from the catalog. Here’s how you’d make this happen:

  1. Add an image block to your template.
  2. When selecting an image to use, select “Dynamic image” instead of image library/upload image.
  3. Add in this tag: {% catalog ItemID %}{{ catalog_item.metadata|lookup:'images'|lookup:'1'|lookup:'src' }}{% endcatalog %}
  4. Replace ItemID with the actual ID of the item you want to show.
  5. In the tag, you’ll notice lookup:’1’. This means that the email will look up the product’s second image (because 0 is reserved for the first image). Change ‘1’ to whatever number you’d like. 1 for the second image, 2 for the third image, ect.
  6. Save the image block.

While you’ll still have to check the item ID in the catalog, you won’t have to download an image from Shopify, then re-upload it into Klaviyo, saving you time. If you save the tag somewhere, so you can reference it in the future, this should be a fairly quick process!


talha.hussain
Problem Solver IV
Forum|alt.badge.img+9
  • Problem Solver IV
  • January 7, 2026

Hi ​@caitmcswny ,

I totally understand the challenge you're facing with choosing the right product image for your email grids. It can be a bit tedious manually uploading the image for each product when you'd rather just have it tied to the product listing directly.

While Klaviyo’s Static Product Blocks currently default to the hero image from Shopify, here’s a workaround you can try:

Use a Custom HTML Block:

Instead of using the product blocks, you can create a custom HTML block in Klaviyo where you can define which image you want to show for each product. You’ll need to pull in the image URL from Shopify (this will be the specific image, not just the default hero image) and then embed it in your email.

For example, if you have multiple images for a product, you can use the Image URL from Shopify (you can find this under each product’s media tab) and insert it directly into the email. This way, you're selecting the specific image to display without needing to manually upload each time.

Step-by-step:

In your Shopify admin, go to the product's media section.

Right-click on the image you want to use, and select "Copy Image Address."

Go to your Klaviyo campaign, and instead of using a Static Product Block, select a Custom HTML Block.

Paste the image URL in the src of the <img> tag.

This allows for much more flexibility in selecting and displaying the images you want, while still pulling from Shopify.


Forum|alt.badge.img+2
  • Author
  • Problem Solver I
  • January 9, 2026

Thank you all so much for your help. The reason I want the product block is so that it automatically adds the product link and we don’t have to manually link. Most of these solutions still involve manually linking to the product once you’ve added the specific image you want, which when you have a grid of 9 products to link, can be time consuming. Thank you!


Byrne C
Community Manager
Forum|alt.badge.img+28
  • Community Manager
  • January 13, 2026

Hi ​@caitmcswny,

Understood, I can see how the above solution doesn’t help save time with manually linking products. At the moment, there isn’t a way to edit a static product block to show alternate images, but I’m happy to bring this request up to our product team and recommend that they make this change in the future.