How can I set such "track" link in gmail? - html

I saw the following "Track order" link in Flipkart's order confirmation mail (gmail):
How do I acheive this? I don't know what it is called, so don't know what to search for. I apologize if this question is already asked.

This is done using an Email Schema via schema.org.
Google uses this service to allow rich markup of emails (https://developers.google.com/gmail/markup/overview)
You will need to register with Google and comply with their guidelines in order to use a schema in an email to provide a deep-link to your website.
The guidelines are located here: Registering with Google
In Summary:
Emails must be authenticated with SPF or DKIM
Emails must come from a static address and must follow Google's Bulk Sender Guidelines
The link must be to a specific page on your website and the label should clearly reflect the intent of the action
There's a few more, but these are the main requirements. Once you comply, you need to email schema.whitelisting+sample#gmail.com to allow Google to ensure you comply with the requirements and white list your domain for deep-linking.

Related

Is there a way to collect an email address from a link click within an email?

I'm trying to create a survey email with two follow-ups reminding the recipient to complete the survey. The survey link is anonymous and meant to be shared among the recipient's peers. The survey is on Qualtrics.
My issue is this - I don't want the follow-ups to go to anyone who has already completed the survey. But, I want them to feel like they're maintaining a sense of anonymity.
So, the goal is to create a link that, once clicked, collects the email address of the person who completed the survey so they can be unsubscribed from any follow-ups. What's the best way to do this?
If an audience is already known by their email address or id. You can use hidden variables in the URL. This data can be captured on submission. By this, you can follow up to the non completed users.
The requirements you state in your question are contradictory. You can have either:
An anonymous link that recipients can share with their peers, which contains at most group-level information about the respondents, or
Personalized links that are private to an individual respondent, which contain individual-level information about the respondents (including their email address).
(The way you can embed group-level information into an anonymous link is to append a URL parameter to the end. For example, if you have two mailing lists that you're using for the survey distribution, you might have one version of your link that ends with "?MailingList=1" and another where "MailingList=2".)
If you want the survey to be truly anonymous and shareable with peers, you should simply include language to the effect of "if you have not already taken the survey..." in any reminder communications.
If "fewer annoying reminders" is a more important goal than anonymity and the ability for respondents to share via email forwarding, then personalized links are the way to go.

Programmatically Share Editing Rights of Google Site using a Google Form (Semi-Public Wiki)

I have an existing (classic) Google Site that I would like to be a semi-public wiki. Google seems to have explicitly disallowed public wikis in the new version of sites, so I'm trying to find a work-around of sorts.
Here's my ideal flow:
1. Guest visits my Google site "Foo Wiki" and clicks a link to become a contributor.
2. Link goes to my Google Form "Registration Form" that just asks for
a name and email address.
3. Form submission creates a new line in a google sheet "Registration List".
4. "Registration List" has a script that emails the user's given email address
giving them editing rights to "Foo Wiki"
Is this possible?
I have the easy parts (1-3) done, but not sure how to go about step 4.
I think you can easily get this done using the addEditor() api.
Kindly check this out https://developers.google.com/apps-script/reference/sites/site#addEditor(User)
Actually it was even easier than I thought! I sent a second edit invite by email to another email address I had and copied the invite acceptance link to be on my site.

How to specify a read receipt for MailApp

I am using MailApp from Google Apps Script to send emails. When I send an email, I want to be able to track to see if the email was opened or not. This email account is a G Suite account and Email Read Receipts is set to "Allow email read receipts to be sent to any email address."
With MailApp, how do I specify to send the read receipt for the email?
I believe this is not possible with the MailApp class. The only option I thought it would be possible is by using the method sendEmail(recipient, subject, body, options). However, this method does not include any option to request for a read receipt as how you can see under the Advanced parameters explanation.
I also checked the GMAIL API service and there is no option to do this as well. The help center article here, explains this is available inside the gmail web UI and after several testing, I found out this is not possible via API.
In summary, by using apps script or the Gmail API is not possible to achieve this. The only thing that comes to my mind right now, is to implement a system in which you will include a unique image in the message and track for when the image is loaded. When the image is loaded, that means the message has been read. I have no idea how to implement such solution but I know is possible.

Post to Node.js Server from Within HTML e-mail

I am writing a simple mailing application, however I am not yet aware of the full capabilities of HTML editing within the mailing world.
I would like to give the website administrator the choice to accept or to refuse a reservation by sending him an overview of the reservation. Below in the mail I had 2 buttons in mind, accept & refuse.
I tried using a form within the HTML e-mail but almost every mailing client blocks this out.
Is there another method to do a http post command to let's say myserver.com/accept or myserver.com/refuse from within an e-mail without having to open an additional webpage?
If not, what is the best way to achieve such things?
This is a pretty relevant article: https://www.sitepoint.com/forms-in-email/
Basically he concludes that support is not reliable so you should not use forms in emails which I agree with.
Since you say you want to give this choice to a website administrator I think you probably want some sort of authentication. So I could see it working something like this...
Send the admin an email containing two links mysite.com/reservations/:reservation_id/accept and mysite.com/reservations/:reservation_id/refuse.
Admin clicks on one of the links
Link opens in the browser and your site(controller -> ReservationService) accepts or refuses based on the id and action in the url
You will have a few things to consider, such as authentication(I assume you already have this since you have the notion of website admin?), authorization(can this admin accept or deny the reservation?), does the reservation exist, has the admin already accepted or denied the reservation, etc.

I need to capture the IP Address to google spreadsheet via google web form

I have designed a Google web form. This form is sent to number of clients. All the fields that are submitted are recorded to Google spreadsheet. I need to capture the IP Addresses of clients and time-stamp to spreadsheet when client updates his information.
How can I make the client to include its own IP address to store it in spreadsheet?
To make the clients to include their own IP address in a Google Form you should ask them to write the IP address themselves.
The alternative is to pre-populate the answers and send the custom URL to them. For identification purposes, if you don't know the IP address, instead use a unique ID.
References
Pre-populate form answers - Docs editor Help
You can set up a reverse proxy that injects a javascript file in the form, that JS bit can detect and save the user IP in a field, along with any other info you’d need such as user agent, language, local time and so on. This isn’t exactly trivial but may be worth exploring.
I don't have any precise examples but what you can do is:
set up apache with mod_proxy to act as reverse proxy in front of the website
use mod_substitute to replace some JS on the page with a version you host
add any fields you need to the form so that when it's sent you get the data in the parameters
https://httpd.apache.org/docs/2.4/mod/mod_substitute.html
Surveymonkey provides IP tracking on submission.
Read more here:
http://help.surveymonkey.com/articles/en_US/kb/How-do-I-turn-off-the-IP-addresses-collection-on-the-responses
Old topic I know but I found this thread as I am trying to similar.
I've had to resort to forgetting the Forms idea and reverting to Sheets.
You can then use Regex to validate
=REGEXMATCH(C6,"\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}")
Data Validation for IP image
Not the ideal solution but a viable alternative for what I need....and me be of help to others