How To Make Rich Pins From Your Own Products [Cheat Sheet]

Published by
Melissa Megginson
Rich pins are no longer for the selected few. Learn how to make your own rich product pins using oEmbed or semantic markups – cheat sheet included!

When Pinterest first introduced rich pins in May, PinLeague CEO, Danny Maloney, saw them as Pinterest’s first billion dollar revenue feature. This feature gives companies ability to display price, availability, their logo, show price changes and much more, all within the pin. Although only a few companies had access to these pins at first, Pinterest has since provided the coding to allow any company the chance of having rich pins on their own site.

To create rich product pins, Pinterest requires you to either use oEmbed or semantic markups (Open Graph or While a knowledge of HTML coding does make the task a little easier, below we’ve outlined, defined and even created a cheat sheet outlining the main points to keep in mind when adding rich product pins to your site.


oEmbed is Pinterest’s preferred method of generating rich pins since they only have to look at a single canonical URL to find all the information needed to produce the pin. Because of this, Pinterest can be confident that the pin will always have the right information.

An oEmbed formula will look like this:


“provider_name”: “PinLeague”,

“url”: “”,

“title”: “Pin League Professional Analytics Suite”,

“description”: “Gain insights and take strategic action on Pinterest with PinLeague’s Professional Analytics Suite.”,

“product_id”: “PL12345”,

“price”: 99.00,

“currency_code”: “USD”,

“brand”: “PinLeague Analytics”

“availability”: “in stock”

“quantity”: “100000”


To set up a single rich product pin, use these required fields (color coded to match formula):

  • url: The canonical URL for the product.
  • title: The product name. No need to use HTML formatting here since any tags will be removed.
  • price: The price of the product without any currency symbols.
  • currency_code: Easily find the correct currency code from For example, the US dollar is listed as “USD”.

While the above are the only fields technically required, it’s a good idea to also include:

  • provider_name: The store name, such as Karmaloop.
  • description: This is the, well, description of the product. This section also doesn’t require HTML formatting – just type away.
  • brand: The brand name of the product. For example, the brand Burton can be found on Karmaloop’s website.
  • product_id: the ID used on your site to identify the product.
  • availability: Can be “in stock”, “preorder”, “backorder”, “out of stock”, or “discontinued”. Do not capitalize any of the values, as this field is case sensitive.
  • quantity: The amount of the product left, written as an integer. When the quantity hits 0, the availability automatically changes to “out of stock”

To create a rich pin connected to a page with multiple products or offerings, the set up looks a little different:


“provider_name”: “PinLeague”,

“url”: “”,



“title”: “PinLeague Analytics Suites”

“brand”: “PinLeague Analytics”

“product_id”: “PL12345”,



“title”: “PinLeague Lite Analytics”

“description”: “Gain insights and take strategic action on Pinterest with PinLeague’s Lite Analytics Suite.”

“price”: 29.00

“currency_code”: “USD”

“offer_id”: “123”

“availability”: “in stock”

“quantity”: “100000”


“title”: “PinLeague Professional Analytics”

“description”: “Gain insights and take strategic action on Pinterest with PinLeague’s Professional Analytics Suite.”

“price”: 99.00

“currency_code”: “USD”

“availability”: “in stock”

“quantity”: “100000”




 While many of these fields are the same (and their descriptions are found above), there are some key differences, particularly under the ‘products’ and ‘offers’ fields:

  • provider_name: Name of your store.
  • url (required)
  • products: (required) While nothing goes directly after the colon, this field is where the product markups begin.
    • title (required)
    • description
    • brand
    • product_id
    • offers: (required) This, like the ‘products’ tag begins a new field related to offers from your domain
      • price (required)
      • currency_code (required)
      • title
      • description
      • offer_id: The id that correlates to the offer id on your site.
      • availability
      • quantity
Open Graph Tags

Open Graph, originally developed by Facebook, requires that you put information about the products in the HTML header of your site. However, this method doesn’t allow for multiple product descriptions on one page.

The Open Graph tags will look like this:


      <meta >”og:title” content=”PinLeague Professional Analytics Suite” />

      <meta >”og:description” content=”Gain insights and take strategic action on Pinterest with PinLeague’s Professional Analytics Suite.” />

      <meta >”og:type” content=”product” />

      <meta >”og:url” content=”” />

      <meta >”og:site_name” content=”PinLeague” />

      <meta >”og:price:amount” content=”99.00″ />

      <meta >”og:price:currency” content=”USD” />

     <meta >”og:brand” content=”PinLeague Analytics Suite”

      <meta >”og:upc” content=”PL12345″ />

      <meta >”og:availability” content=”instock” />



The meanings are similar to the oEmbed script, but there are a few quirks. One of the biggest things to remember is keeping the “meta >

  • og:title: Name of the product, without any HTML formatting.
  • og:type: This field must say either “product” or “og:product”.
  • og:price:amount or product:price:amount: Price of the product, without the currency signs.
  • og:price:currency or product:price:currency: The currency code, found on
  • Like with the oEmbed tags, it’s best to include more detailed fields as well:
    • og:url: Unlike with oEmbed, the canonical URL for your product is not required, but I would highly advise that you include it in your header.
    • og:site_name: The name of your store, which Pinterest also strongly advises you include.
    • og:description: The description of your product, without any HTML tags.
    • og:brand: The brand name of the product.
    • og:upc or og:ean or og:isbn: The unique identifier for the product within your site.
    • og:availability or product:availability: Can be, “in stock” or “instock”, “preorder”, “backorder”, “out of stock” or “discontinued”. markups are the third and final markup you can use when creating rich product pins. One of the pluses of using markup is that they are supported by Google and other search engines, so it could help your Pinterset SEO value. However, this markup is more complex than just using Open Graph header markups because the tags must be in the HTML body. body tags will look like this:

    <meta >

        <div itemtype=””>

          <meta itemprop=“name” content=”PinLeague Professional Analytics Suite” />

          <meta itemprop=“brand” content=”PinLeague Analytics” />

          <meta itemprop=“productId” content=”PL12345″ />

          <meta itemprop=“url” content=”” />

          <span itemprop=“description”>Gain insights and take strategic action on Pinterest with PinLeague’s Professional Analytics Suite”. </span>


        <div itemprop=”offers” itemtype=””>

          <span itemprop=“price”>99.00</span>

          <meta itemprop=“name” content=”Free 14 day trial” />

          <meta itemprop=“description” content=”Try PinLeague’s Professional Analytics FREE for 14 days!” />

          <meta itemprop=“sku” content=”345″ />

          <meta itemprop=“priceCurrency” content=”USD” />

          <meta itemprop=“availability” itemtype=””

           content=”” />


    If you notice, the first field actually is written in Open Graph form (og:site_name). The reason for this is due to the fact markups do not offer a site name field.

    There are only two required fields for product markups, after stating the item type:

    • url: Canonical url for the product on your site.
    • name: Name of the product, without any HTML tags.
    The other fields, that are a good idea to include, are:
    • description: Description of the product, without any HTML tags.
    • brand: Brand name of the product.
    • productId: The unique identifier for the product on your website. also allows you to offer special offers via rich pins. These fields are:
    • name: Name of the offer, without HTML tags.
    • description: Description of the offer, without HTML tags.
    • sku: The unique identifier for the offer on your site.
    • price: Price of the offer without any currency signs.
    • priceCurrency: Currency code, once again found at
    • availability: Can be listed as, “” or “InStock”, “” or “OnlineOnly”, “” or “InStoreOnly”, “” or “OutOfStock”, “” or “PreOrder”, and “” or “Discontinued”.

    Validate your Pins

    Before sending your rich pins off to be approved by Pinterest, you must first validate them. To do so go to and enter the URL for your product. After validation, you are then ready apply and take advantage of all rich pins have to offer!


    This post was originally featured on PinLeague blog as How To Make Rich Pins For Your Own Products.

    Melissa Megginson

    Melissa Megginson is resident Community Manager and Cat Lady at Tailwind, the leading Pinterest & Instagram tool for brands. Melissa specializes in affiliate marketing, public speaking, and making our members look good. Find her on Twitter and Instagram at @MelMegg.

    View Comments

    • You forgot to say how you add any of this to your site. Oops! There's no point providing all that oEmbed code etc. without saying what to do with it.

      • @ Ralph- The detailed "How" may vary depending on how your site is built and the volume of content you're promoting. It could be as simple as copying/pasting these tags into the section of your pages. If you use a 3rd party CMS, you may need certain access rights or to directly edit certain files. If you promote many products, your developers many need to build a dynamic insertion mechanism for the code. My suggestion would be to pass this information onto your development team and they should be able to implement it quickly.

        • Thanks Daniel. My gripe is really that each post, and the docs themselves, give examples of oembed code, but don't give any practical examples of how to use it. I appreciate that different environments and systems will present different needs, but at least a basic example—such as on a static page—would give us a fighting chance. In my case, i *am* the development team, and it's a bit embarrassing not to be able to get any kind of a handle on how oembed works—either from blog posts or from the oembed site itself. Very frustrating. :(

    • What happens after you validate and Apply for rich pins. I've done all of this and still nothing is showing?

      • You'll be added to a queue for review by folks at Pinterest. Once your site has been reviewed and approved, you'll receive a confirmation email from them. I'm sure wait times will vary, but recently I've been told by a some Tailwind members that it took ~7-14 days for their application to be reviewed and approved.

    • Thanks for a great post Melissa! I'm just wondering something about using the oEmbed method: What do you mean by the 'product id' and how do I get it? I have an Amazon affiliate site so would the product id be the product's ASIN on Amazon's site?

    Published by
    Melissa Megginson

    Recent Posts

    Ecommerce Transformation: A Case Study on Tailwind Ads’ 525% Traffic Growth Success for Home Stitchery Decor

    Home Stitchery Decor is a Calgary, Alberta-based business that specializes in creating modern farmhouse home…

    May 23, 2023

    AI Email Writers: An Email Marketing Superpower

    Every small business owner can relate to the challenge of not having enough time and…

    May 22, 2023

    AI In Ecommerce: Where To Begin?

    AI is causing shockwaves with the paradigm shift it is causing across verticals — and…

    May 19, 2023

    AI Social Media Content Marketing: The Definitive Guide [2023 Edition]

    With AI social media tools, content marketers can create social media posts and all sorts…

    May 11, 2023

    AI for Blog Writing: How To Use It?

    Lots of companies are turning to artificial intelligence (AI) to help them create blog posts…

    May 3, 2023

    AI For Small Business: Where To Use It?

    Many small businesses working with limited resources think that new technology and new tools driven…

    May 1, 2023