How does gmail show "action" without email markup present? - email

This is the email I received from flipkart - https://gist.github.com/syst3mw0rm/b5fe25633aed78865a0b
When I check the above email using markup tester - https://www.google.com/webmasters/markup-tester
it says, it has no structured data. i.e, it has no email markup in it. How does gmail show "View Order" action then?
Here's the screenshot showing it - https://www.evernote.com/l/ANzpEoWx0gpOOIdRXSupqzqmiWlr0gS7RHc

This is an integration from Gmail that is placed in the email. See this link for how to do it: https://developers.google.com/gmail/markup/reference/order
This data is usually read at the server level and is not displayed in the source shown in the email received. So looking through that you would not see the markup, etc that called this button.
Here is a link for other available actions that can be done in gmail - https://developers.google.com/gmail/markup/reference/go-to-action
Also found this great answer as well: https://webapps.stackexchange.com/questions/47674/new-view-order-button-in-google-mail
It's based on a initiative called Schema.org. Google announced this
feature for Gmail in May 2013:
http://gmailblog.blogspot.dk/2013/05/take-action-right-from-inbox.html
Quotes from the post (emphasis and linkifying mine):
Email is an important part of how we get things done -- from planning
an event with friends to organizing that family vacation to Costa
Rica. And today, getting those things done is getting a little easier
with new quick action buttons in Gmail, designed to help you tackle
your digital to-do’s as quickly as possible. ... and ...
These buttons appear next to certain types of messages in your inbox
and let you take action on an email without ever having to open it.
For example, you can RSVP to your friend's party invitation or rate
that restaurant you went to last night all right from the inbox.
You’ll be checking things off that to-do list in no time. ... and ...
If you are a developer and want to add actions to your emails, check
out http://developers.google.com/gmail/schemas to learn more.

Related

Does SendGrid support double opt-in as a feature?

Does SendGrid support double opt-in to Lists as a feature or is that something we will have to implement for ourselves?
https://sendgrid.api-docs.io/v3.0/contacts-api-recipients/add-recipients
It doesn't appear to me to be anywhere in the docs, but I thought I'd ask in case I missed it.
Not as of the current date; I asked their support staff and received the following answer:
Double opt-in needs to be implemented by you in the form/page you're subscribing your recipients. The confirmation email can be sent through SendGrid.
For Marketing Campaigns we have the SendGrid’s WordPress Subscription Widget that makes it easy for people visiting your WordPress site to subscribe to your marketing emails;
or Building a SendGrid Subscription Widget.
I got this answer from their support. It turns out we have to implement it by ourselves.
The double opt-in functionality is not something SendGrid provides as
we expect our customers to handle any opt-in practices on their side.
We apologize for any inconvenience.
SendGrid will be GDPR compliant by May, 25, 2018. Please note that
SendGrid does not – and does not currently have plans to – use servers
or data centers in the European Union to process email. Thus, SendGrid
cannot restrict data to the EU. However, neither current EU law nor
the GDPR require this. Instead, what is required is that SendGrid must
provide "appropriate safeguards" for data that it hosts and processes
on its US servers (see Art 46 of the GDPR here). SendGrid offers a
Data Processing Addendum (DPA) to provide such adequate safeguards,
which includes provisions for when GDPR goes into effect.
More info on GDPR can be found here. Our DPA can be reviewed and
signed by filling out the information here.
They do not support it. I asked support many times, which is a strange as it would seem a company of that size could spare the dev resources to build a feature that literally all of their customers need.
However, https://sgwidget.com is a third party product that provides double opt in functionality for Sendgrid accounts.
Full Disclosure: I am a developer at SG Widget.
No, indeed still today, they do not. Not in their forms, nor in their API is there simple, flip-switchable support for double opt-in. But, with email automation fairly recently implemented in their marketing services ("free" and "advanced" plans, not "essential") you can send an automated email directly upon sign-up.
My solution is to have 2 lists for new contacts, where one is a "pre-confirmation" list and the other being the "real" list. Here´s a way to use automation:
Create initial signup form, either via their sparse Web forms or via your own, using HTML/JS/PHP and API endpoint:
Create 2 separate lists, one for "pre-confirmation" emails and the other for people who confirm their addresses.
Make the form sign up new contacts to the first list, "pre-confirmation".
Create a marketing automation flow that triggers upon new signups to the "pre-confirmation" list. Make the automation trigger an email that contains a button or a link with the following link structure:
https://yoursite.com?email=user#email.com&passphrase=[phrase-you-set-manually]
where ?email= is your user´s email, substitute this in the email template/design by {{ Sender_Email }}
where &passphrase= is a phrase long enough to not be guessed. Since you only have one single email design here, and you can only enter one single phrase, unless you make a script or a hash, you make it difficult enough for people to think it was generated by a server :).
On your server/application, yoursite.com, use $_POST['email'] and $_POST['passphrase'], or whatever you name them, to validate the email clicks from your list and then enter all validated emails to the correct list using the PUT
/marketing/contacts endpoint.
you may also have to delete the user from the previous list, using DELETE
/marketing/lists/{id}/contacts, but I do think that the PUT /marketing/contacts takes care of placing the contact in only the lists specified in the list_ids field.
once the contact has been entered into the correct list, you can also have a marketing automation set up for that list, which sends him/her a welcome message.
This method takes care of double opt-in for SendGrid without using one single email credit from the Email API (transactional plan). The only catch is that we utilize one initial and one second/final list to achieve it.
Note: the initial sign-up message that here acts as the "confirm your email" message, will be tied to the first list and will require a marketing unsubscribe link in the footer. Make it clear in the bottom of the email that it is a temporary list, to not get any spam complaints. But it will not be an issue, as we wont be sending to anyone in that list except for this initial time. Unless you have a user who enters his/her email twice, after some time of inactivity when they forgot they already signed up. That could happen. But it´s a separate issue.
I think this is possible by switching the flow of a typical email subscriber. When the user clicks your subscribe button, instead of calling the sendgrid members/contact PUT api to add to your list, send an email with a link to a URL of yours that will then trigger the members/contact PUT api call.
Not sure what stack you are using but I was able to build something like this with next.js utilizing their api routes

Disable The Suggested Meetings App in Outlook Web App

My system is sending mails to my clients when they apply for position. Part of that mail is:
We would like to invite you to take the next step
For Gmail users, it displays well, but in Outlook Web App my users see this sentence underlined and on click it shows suggested event.
Is there some escape character or some other way for me to disable this option? I want that sentence be plain text, not the event suggestion.
This is a feature of Outlook Web App that helps your recipients create events in their calendars easily. Could you please help us understand why is it a concern for your case?
More and more clients (especially on mobile devices) highlight meeting suggestions or meeting times and allow users to create events easily.
As a sender, you can't "disable" it. But the recipients can disable it via gear->manage integrations settings, if they do not like it.

I would like to create a script for collecting multiple subscription requests and generating an e-mail notification

We have an existing website that is built on DNN. I would like to add a script to an existing page that collects a user's request for to subscribe to various e-mails we publish and then to generate an e-mail that idenfies those requested newsletter subscription titles. Any ideas?
Data springs has some good subscription tools available, check out their suite of modules.
If you want to just collect names and email addresses with a request, the DNN Form and List module will work just fine.
If you just want a "subscribe to our newsletter" type of link on your page, you could couple that with a modal popup that shows the form when the link is clicked(Here is an excellent tutorial: http://www.dnncreative.com/Tutorials/DNNTutorialsforAdministrators/EasilycreatePopupsusingdnnModalshow/tabid/679/Default.aspx that will show you how to do it.)

Is including "Is this email not displaying correctly? View it in your browser." in HTML emails actually still helpful in any way?

For many years now I've included a link for users to view html emails in the browser just because it's an "industry standard". But it doesn't look great, and if it's the first thing the user sees it immediately gives them that "bulk email feeling" that makes them want to skip to the next message as fast as possible. It's also frequently shows up as preview text on gmail, apple mail, iOS mail, etc.
What modern email clients would display a standard HTML email so screwed up that it's not readable (assuming you're not using images for essential text, etc)?
Does anyone have stats of these "view in HTML" links being used at all in 2013?
It is best practice to include a "view on web" option in html email. Email is a game of percentages - it is hard to design for every client. If you go with the most consistent design - a static fix-width template, you still have the issue of many mobile users not being able to view the email properly. Anything more advanced like media queries are highly segmented also.
Some people just prefer to read on the web, while some older email clients don't display html at all, so it is a good fallback for them.
You could put the 'view on web' link at the bottom of the email if you prefer, but a better option is to include a preheader. A preheader is basically a secondary subject/title designed specifically to show up in clients that give a preview of the email content.
Being easily recognizable as a html/bulk email, I don't think is a problem - people expect that in today's world. The most important thing you'll need to counteract low engagement is supplying valued content to your subscribers and not sending too frequently.

Keeping track of whether an email has been opened

I'm using rails 2 for this app, with ActionMailer, but this is a general question about emails.
When we send out emails, i save a record corresponding to the email in a database table. I'd like to keep track of whether people have read the emails, and am wondering the best way to do it. On initial googling, it seems like i've stumbled into an ongoing battle between spammers and email clients!
My first thought was to use the "read receipt" header, but i know that this isn't supported by a lot of clients and is therefore unreliable. After that, i read of the tactic of including an image in the mail, and of detecting that image being loaded. I was thinking that i could put a parameter with the email record's id in the image url, so that when i get a request for that image i can see if it has a (for example) email_id param and if so, mark the corresponding email as having been read.
But, then i remembered that many clients are wise to this tactic and specifically ask the viewer of the mail if they want to display images. Obviously they might say no.
Am i right in thinking that i can't pull in other resources, such as stylesheets, in my mail? Because if i can pull them in, i could do that same trick but with the stylesheet rather than an image.
Grateful for any advice, max
Externally-hosted stylesheets are generally treated the same way as images. The client will not download them without prompting the user, if that works at all with HTML-formatted emails.
One thing to consider- you're looking to determine whether the email was read, not necessarily just received, right? Format your email so that it can't be easily read without viewing the images, and include a "view in browser" link at the top. Track image and page-format views and I think you'll have a fairly reliable way to measure actual reads.
Bit late on this, but we've got a similar problem.
We're tracking the links to our site that are included within the email. We're doing this by, like you, having a DB record per email sent out. We've generated a unique hash key per email and are including that as a parameter on all the links included in the email.
We simply then have a before_filter that looks for the parameter and records the fact against the correct email record by using the unique hash to identify the correct one.
We use a unique hash key (rather than the DB's primary key) just so it is a little bit more secure / reliable.
Obviously this method only helps us track the clicks our emails have generated (and not if they've been read) but it is still useful as we can see which of ours users has clicked on which links.
We are having major problems with this as well.
We have task wek portal, where users create tasks (like paint my house) and then we invite painters to give the task creator an price on painting his house.
For that we had a very advanced email system, that sends an invitation and if they accept the invitation we send them the contact info of the task creator.
We need to be able to track if the email was opened, and then once it's opened, we know that the company got the contact info, and we can now send another email to the task creator, telling them that they can expect to be contacted by that company.
The problem is that tracking if the email was opened is not reliable at all. There are different systems for this like msgtag (which does not support a wide range of mail clients like yahoo and other major clients) and our email API client (elastic email) even offer some API call back functions to tell us if each email was opened or bounced or whatever. But again, it's not reliable. To track if it's open, elastic email just includes a 1x1 px image and track if it's opened. So if people don't click "show images in this email" it's not tracked as opened.
So basically we are down to two options.
Have vital portions of the content printed on images, that they have to view to get the info we want to track if they got (in this case contact info)
Just have a link in the email "click here to get the contact info" and then track if that is clicked.
So in conclusion, the "track if opened" is totally useless and unreliable, unless you can fully control which email clients your recipients are using and how they are using them (like if they are all your employees or something).