Use Google Annotations

  • 6 December 2020
  • 35 replies

Badge +3

Hello guys, hope your holiday season was successful.

My name is Adir, I am the CRM manager at Maelys Cosmetics.


I have a question for you all, did someone tried to use Google Annotations?

Pre show the image, coupon? If you have any tips or tricks, that can be great.


We would like to take our email marketing activity to the next level after conquering email automation, segmentation, SMS campaigns and all Klaviyo’s best practices.


Best answer by Taylor Tarpley 3 July 2023, 17:12

View original

35 replies

Badge +1

How is this still not supported in Klaviyo after so many years!


While trying to troubleshoot this issue, I think I found the reason why the annotation is failing to render.

Before I dive into it, and for full disclosure:

  • We are testing this with a Single Image annotation, which follows the same format as the product carousel one
  • We are using microdata, not JSON
  • We disabled embedded styles as suggested earlier by @Taylor Tarpley 
  • We are testing this with HTML email, not those made in the Klaviyo editor. Any microdata is stripped completely from the text field in Klaviyo editor as soon as you hit Save. 
  • I am not a coder/developer by any stretch of imagination

This is the code snippet that was added in HTML:

<div itemscope itemtype="">
<meta itemprop="image" content=""/>
<meta itemprop="url" content=""/>
<meta itemprop="headline" content="Product Name"/>
<meta itemprop="price" content="54.97"/>
<meta itemprop="priceCurrency" content="USD"/>
<meta itemprop="discountValue" content="20"/>


When the test email arrived to our test gmail account (one made specifically for testing this feature, that ends with, the code has been changed and now appears as:


<div itemscope=3D"" itemtype=3D"">
<meta content=3D"
s/8a073d85-2c45-4ee5-ae3d-45f0a331aa34.jpeg" itemprop=3D"image">
<meta content=3D"" itemprop=3D"url">
<meta content=3D"Product Name" itemprop=3D"headline">
<meta content=3D"54.97" itemprop=3D"price">
<meta content=3D"USD" itemprop=3D"priceCurrency">
<meta content=3D"20" itemprop=3D"discountValue">


When I paste this transmogrified code back into the Gmail Annotation Preview Tester, it will not render and displays error messages as such:



The changed order of arguments in the meta tag should not make a difference, but I did notice that every instance of “=” became “=3D”
%3D is Unicode for an equal sign, but here 3D is preceded by an actual equal sign, not a percent sign. 

So I started manually changing each instance of =3D and the code started to render bit by bit as I hit “Preview” with each change


The image URL was broken up into multiple lines but I don’t think that’s Klaviyo


With each line where =3d was changed back to =


More of the annotation showed

When all of the instances of =3d are changed back, the preview tool renders the annotation same as the original code - the order of the supplied argument does not matter.


I’ve opened a support ticket with Klaviyo to see if there’s any news on this, and to find out when and how we can start using this feature. If anyone else has any other info, please scream from the rooftops.


Also wondering if there are any updates on getting the annotation to work?

Hey everyone,

Are there any updates on Klaviyo's Gmail annotation feature?

I tried disabling CSS settings, making emails from pure HTML, and adding microdata for Gmail annotation, but got no result .:(

Badge +1

Hi, I wonder if you guys can do the annotations, I tried both steps, but still failed.

Should be a feature in the email drag and drop. Give me a spot to store it. Klaviyo you guys render the Google syntax. I’m surprised this isn’t a feature at this point. Right now I’m scrolling through my gmail looking at all the other brands using this. It’s compelling!! And I can’t do it unless I switch to html template and increase the work effort. Where’s the easy button?


Userlevel 1
Badge +2

Sales Force were able to get it working inside their editor with no issues -

Userlevel 7
Badge +60

Hi all,


Thank you all for the collaboration, sharing and troubleshooting you’ve demonstrated together with your peers in the Community! After conversing with our team, I was able to confirm some best practices that would be helpful in sharing!


In addition to confirming what @cassy had previously mentioned that Google Annotations will not work through a drag-and-drop editor, this will require a custom coded HTML template. Our experts were also able to share that some success can be seen when following these two steps:

  • Disable the setting ‘Enable embedded styles’ under account Settings > Email > CSS Optimization
  • create and upload the template as a pure HTML template. I actually couldn’t see the option to do that via the new editor, so you have to do ‘Create Template’ and then select the old editor, and then select the upload tab that then shows up and import it there


While we have seen some success using these two steps listed above, guaranteed placement is outside of Klaviyo’s control and ultimately up to Gmail/Google. This includes configuring a banner image to show and following the syntax laid out by Google. Within our own tests we were not able to find a permanent method to configure annotations in Klaviyo to permanently secure display in a certain section of the promotions tab.


Hope this helps!



I also want to add this code to my promotional emails. Klaviyo team, please fix it of us!

Userlevel 1
Badge +2

Any chance of a response Klaviyo team?

Userlevel 1
Badge +2

@Klaviyo Team where are we with this?


Every other ESP has support for this now. When will this be integrated into your editor?

Badge +1

Would love to hear from anyone that has got this working, particularly anyone managing to get carousel images to show in Promotions tab. For me, after following all the steps from Google and mentioned about, still not seeing the annotations/images.

Sorry I forgot to quote your message to reply. Hope you see my message above and Klaviyo can shed some light on this.

Badge +1

I have the code working inside Googles Preview Tool, but it doesn’t actually work when Klaviyo sends it out.

I think it has to do with Klaviyo blocking scripts so you need to use Microdata.

Then even once you have the Microdata and add it to the email head section, Klaviyo moves all that code to the body.

Even with the gmail promo annotations microdata code being added inside the body, the preview tool shows it working, but when testing, I could never get it to show up in the email once Klaviyo delivers it to a Gmail recipient.


Would love to hear from anyone that has got this working, particularly anyone managing to get carousel images to show in Promotions tab. For me, after following all the steps from Google and mentioned about, still not seeing the annotations/images.

Badge +4

Not really, unfortunately. I tried a few ways to test, but none ended up like I was hoping. 

I’ve been on other projects since, but plan to try get this working somehow!


Any luck on this? I can't seem to make it work even with the fix that @gjoyce-SHEEX  posted.

Badge +4

For one, you have to convert your template to HTML, then you can add the microdata version – the script ones get removed.

However, still no luck getting dynamic content to display.

For example, instead of static 
<meta itemprop="reservationNumber" content="abc456"/>
I need
<meta itemprop="reservationNumber" content="{{ event.reservation_id }}"/>

Going to try do it inline...


Whatever I paste on Klaviyo’s editor gets stripped! - see attached.

This is not working for me.

I don’t see how this thread is marked as SOLVED?

Note: I checked the allow CSS options under my account settings.



Badge +5

I added both this code and it didn’t populate in Gmail and also the code they provide in this page.


Seems to not work, can someone help by sharing a workable code and maybe a template that goes with it?

Badge +4

When I try add metric event data, it breaks. 

Was the above example static or dynamic?

Badge +1

For those following this thread, I was able to successfully code this markup using microdata that did not get stripped from Klaviyo templates (like the json script) and successfully rendered in the gmail app in a test email. Here is the code that should be placed underneath the opening <body> tag in your email. In the example below, the schema elements match those shown in the Email Annotations previewer on the Google Developers Site.


<!-- ======== GMAIL PROMO TAB ======== -->
<div itemscope="" itemtype="">      
  <meta content="" itemprop="logo"/>

<div itemscope="" itemtype="">      
  <meta content="[Important] Please add subject line in annotation" itemprop="subjectLine"/>

<div itemscope itemtype="">
  <meta itemprop="description" content="20% off" />
  <meta itemprop="discountCode" content="PROMO" />
  <meta itemprop="availabilityStarts" content="2022-01-04T13:05:30-08:00" />
  <meta itemprop="availabilityEnds" content="2022-01-07T13:05:30-08:00" />

<div itemscope="" itemtype="">      
  <meta content="" itemprop="image"/>
<!-- ======== GMAIL PROMO TAB END ======== -->

Badge +1

Playing with this today and still no luck. Seems real surprising that Klaviyo won’t fix this so emails can stand out better in the Gmail promo tab.

Badge +1

Curious if this works yet

Badge +1

@jingrid Any updates on getting this to work? I’d like to have annotations added to our emails but the code is being stripped. Even with the CSS optimization turned off and other scenarios presented earlier in this thread.

Userlevel 1
Badge +2

Hi @AdirMaelys @Mailbox Manny -- Apologies for the delay here. There’s actually a setting in your Klaviyo account that, when unchecked, will allow your HTML snippets stay untouched (under Accounts > Settings > Email > CSS optimization), which in turn, will enable your Google Annotations to function properly. 


There are a few considerations to think through before unchecking that setting, which are outlined here:


Hope this helps!