I'm testing Gmail's Email Markup functionality for Parcel Deliveries, and it seems I can't get it right. This is the e-mail content after sending an e-mail to myself:
Return-Path: <[email protected]>
Received: from my-pc.local ([my.ip.add.ress])
by mx.google.com with ESMTPSA id 68sm3737559qgz.8.2015.01.29.06.06.37
for <[email protected]>
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Thu, 29 Jan 2015 06:06:38 -0800 (PST)
Date: Thu, 29 Jan 2015 11:06:33 -0300
From: "Test Name" <[email protected]>
To: [email protected]
Subject: Your package is on its way
Message-ID: <[email protected]>
MIME-Version: 1.0
Content-Type: text/html; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.23 (2014-03-12)
<html>
<body>
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "ParcelDelivery",
"deliveryAddress": {
"@type": "PostalAddress",
"streetAddress": "Test Address",
"addressLocality": "Test locality",
"addressRegion": "Test Region",
"addressCountry": "CL",
"postalCode": "7551234"
},
"expectedArrivalUntil": "2015-02-12T12:00:00-04:00",
"carrier": {
"@type": "Organization",
"name": "Test org"
},
"itemShipped": {
"@type": "Product",
"name": "iPod Mini"
},
"partOfOrder": {
"@type": "Order",
"orderNumber": "176057",
"merchant": {
"@type": "Organization",
"name": "Test Org 2"
},
"orderStatus": "OrderInTransit"
},
"trackingUrl": "http://track.com/track/1234567890",
"trackingNumber": "1234567890"
}
</script>
<p>Test paragraph</p>
</body>
</html>
The markup is valid according to the markup validator. There are recommended (but not required) fields that I'm missing. Adding them doesn't help.
I have also tried the microdata format with no luck so far:
<html>
<body>
<div itemscope itemtype="http://schema.org/ParcelDelivery">
<div itemprop="deliveryAddress" itemscope itemtype="http://schema.org/PostalAddress">
<meta itemprop="streetAddress" content="Test Address"/>
<meta itemprop="addressLocality" content="San Francisco"/>
<meta itemprop="addressRegion" content="CA"/>
<meta itemprop="addressCountry" content="US"/>
<meta itemprop="postalCode" content="94107"/>
</div>
<meta itemprop="expectedArrivalUntil" content="2015-01-12T12:00:00-08:00"/>
<div itemprop="carrier" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="Test Carrier"/>
</div>
<div itemprop="itemShipped" itemscope itemtype="http://schema.org/Product">
<meta itemprop="name" content="iPod Mini"/>
</div>
<div itemprop="partOfOrder" itemscope itemtype="http://schema.org/Order">
<meta itemprop="orderNumber" content="176057"/>
<div itemprop="merchant" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="Bob Dole"/>
</div>
<meta itemprop="orderStatus" content="OrderInTransit"/>
</div>
<meta itemprop="trackingUrl" content="http://track.com/track/1234567890"/>
<meta itemprop="trackingNumber" content="1234567890"/>
</div>
<p>Test paragraph</p>
</body>
</html>
What am I missing?
I'm using mutt to send the e-mail:
mutt -e "set content_type=text/html" [email protected] -s "Your package is on its way" < test.html
Or without content type:
mutt [email protected] -s "Your package is on its way" < test.html
Email markup uses structured data in emails to work. Gmail supports both JSON-LD and Microdata and you can use either of them to markup information in email. This lets Google understand the fields and provide the user with relevant search results, actions, and cards.
As a marketer, you want your email to have an impact on the recipient; schema markup in emails motivates them to take the required action on emails as early as possible. The call-to-action button is the highlight of the email as it paves the path for starting the right business communication with the user.
If you use Google SMTP relay, you have to use an SPF record looking like this :
600 IN TXT "v=spf1 a include:_spf.google.com ~all"
Source: https://support.google.com/a/answer/178723?hl=en
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With