Gmail is undeniably one the most widely used web-mails worldwide. Though it has a lot of features it can boast off, it does lack some functionality that many users would love to have. For example ability to sort email by sender, date etc., are missing.
One such most requested feature in Gmail is read-receipt. It’s currently available but only to Google Apps account holders (Business, Education, and Government).
Consider a scenario: You have bought a product online for which you have been charged additional. You have sent out an email to concerned vendor asking for refund of your extra charges. So, how would you know that they have received/opened your email?
Solution: Simple answer is to use read receipt.
Currently there are many third-party email tracking tools that lets you get this feature in your Gmail account. But the question of privacy always comes to mind. Though it’s available in-built in Google Apps Gmail account, what about the Gmail users? How would they use this feature?
Introducing Gmail Read Receipt Notifier:
With this in mind I have come up with a tool that lets you create your own email tracking system which will send you notifications when someone has read your email. This tool can be used by any Gmail user or non-Google Apps account holder for their own purpose. The data you provide will entirely be private to your account. Below are instructions on how to get started.
Get Read Receipt Notification for your Emails in Gmail with Google Docs
Step 1: Installing and Setting up the Application
- Log-in to your Google Docs account.
- Now click here to make copy of Gmail Read Receipt Notifier app. Click Yes, make a copy.
- Wait for few seconds for the menu Read Receipt to appear next to Help. Select Authorize App from it. Now click OK in the popup and finally click close.
- Select Tools-> Script Editor.
- Now from select File -> Manage Versions, Click save new version and press OK.
- Publishing your app: Select Publish -> Deploy as web app. Under Who has access to the app select Anyone, even anonymous.

Step 2: How to Use the Application
- Start composing your email.
- Enter recipient email at cell B4, enter subject at B6.
- Enter a unique key at B8.
- Enter body at cell B10:B26.
- Once you are done. Select Read Receipt -> Send. For the first time alone you will be prompted for your Gmail ID. Enter a valid ID. This will not be known to anyone except you. So you need not worry about it.
- Again select send from Read Receipt menu. Your email would be sent.
- Now on whenever this email has been read by someone you will receive an email alert to your Gmail ID with the time-stamp on when it was read.
Tips: Unique Key must be alphanumeric, it should be unique for each email you send out. You will be notified via a pop up in-case duplication is found. Example could be bobemail1. In this example the key implies that I am sending my first email to bob. On sending next email you could use it as bobemail2 and so on.
Tip: To enter new line (enter) in the body press CTRL + ENTER
How to test it out?
- Send an email to someone using this tool.
- Now log-in to recipient email account from a new browser. E.g. Use Firefox in-case you used Google Chrome/Internet Explorer to send out that email.
- Open the received email.
- You should get an alert in your Gmail inbox stating that the email was read like the above screenshot
Now on find out who actually speaks truth and who does not
So did you like the tool? Are you stuck at any step or unable to get it working? Feel free to drop in your comments, views and suggestions!










Thanks so much. I’have been waiting long ago for such posibility. Using spypig was not always worked, except if I was using chrome, because of html.
My pleasure!
Just to ask, where is stored sent email using this script? It is not in the send label in gmail. Not even in the google drive.
Thanks for the immediate feedback! A workaround coming up this weekend
Will let you know once done. Cheers! Do share the article.
Thanks also for your work, and I am waiting for the update
For now the script is doing the job very nice, just as I said the sent emails are not remembered anywhere.
Again thanks for the feedback, feels good to hear it from the user themselves!
I noticed that when I read the persons reply that I get another read receipt, in fact any time that email is opened by either myself or the person it was sent to, I get another read receipt, is there a way to only get a read receipt when the person the email was sent to opens the email and not when i read their reply, also the time stamp in the key archives page is 1.5 hours off, how can I adjust the time? Other than that, thanks so much for your hard work, been searching for something like this for a long time
Jeff,
Thanks a lot for the feedback. Did you provide your Gmail ID in the popup that comes up? This is done especially to address the problem you have mentioned to stop alerts from being generated when the sender themselves read the mail. As far as key archives is concerned it just inserts the current time-stamp, not sure if it’s timezone problem.
Go to Tools-> Script Editor then File-> Project Properties. Under Info tab see if time zone is proper and you can also check under Project Properties tab to see if your email id is there(to ensure former problem is addressed)
Mean while do share and like this article if you liked it
Thank you very much for the tip!
I have a problem: the menu “Read Receipt” does not appear next to menu “Help”, so I cannot step further. Do you know why might this happen?
Thanks in advance and continue the good job!
Van
After making a copy of the sheet, menu should appear in few seconds.
Or manually trigger it as follows: Tools-> Script editor then Run-> onOpen. Now you should be getting the menu.
Can u plzz tell me where the send email is been store ?
or how to recover send email ?
Abhijeet,
There is a fix coming up this weekend to address this issue. Meanwhile do share this article on the web if you liked it
All,
Sorry for the delay!
Tip.. I modified your scripts tracking pixel to display as 1×1 so it’s not visible to most email clients.
line 137:
var tracker=”";
This hides the pixel all together from the page.
I also would note (to those that are not aware) you can’t use the type face settings in google docs for this script (unless I’ve just not figured it out).
However, you can send an html email through the cell. This, is AWESOME!
Although you have to use single quotes where double would normally be used in tags. but, AWESOME!
else cancel out the double or write it as hex or another method in your email.
Additionally, my testing revealed that you want to enter your entire email address for the Gmail ID. Just entering the user name will cause a new (or has caused) a new pixel count.
An enhancement (in addition to “where did the email you sent go?) would be to log the opens to the spreadsheet instead of sending you an email. And or create a spreadsheet for each email so a count can continue for each open (displaying the first and so on for better tracking).
If you accidentally open your email and it DOES track you, then you have to remember that and subtract it from the original recipient.
I might also consider changing the email “unique key” to the Subject Line, that way they are likely always unique (based on that) and it makes google docs database tracking easier as you can search for the subject line or a portion of it to find counts – not to mention removing an extra step.
Lastly (for now) if you (users) want to send to multiple people using this, you can by using a comma, however it seems to break the tracking all together.
One at a time.
GREAT script though! Lots of potential!
Thecolor,
Thanks for your valuable feedback and suggestions!
- Regarding sender opening his own email and notification being sent. This is problem is addressed by asking the Gmail ID. If it matches, alerts will not be sent.
- Logging tracked data onto Spreadsheet is good but people like me are lazy to go look into the sheet
Hence the reason I went for the option of sending out email alerts.
- Yes as of now we will be able to track one user. But very much possible to track multiple people provided we iterate and assign unique identifier to each of the user.
Thanks for your words. And for taking time to share your awesome thoughts!
Cheers
seems the addition script got cut off… lets try this again with less detail, just the addition…
border= singlequote 0 singlequote height=singlequote 1 singlequote width=singlequote 1 singlequote style= singlequote display colon block semicolon font-size colon 0px semicolon singlequote
no spaces of course between the punctuation.