I have been searching fo this, but could not find a complete and comprehensive solution, so I built my own solution that I am sharing this to you here
The core of this email tracking system lies in the use of an HTML image tag linked to a Power Automate HTTP request URL. Here’s how it operates at high level:
Embedding the Tracker: Whenever you send an email that you want to track, you’ll embed a 1x1 pixel image tag in the email body. This image tag’s src attribute points to a unique Power Automate HTTP request URL.
Triggering the Power Automate Flow: When the recipient opens the email, their email client tries to load the embedded image by sending a request to the Power Automate URL.
Logging and Serving the Pixel:
Step 1: Create Your Tracking Pixel
Host the Pixel Image: You’ll need to host a transparent 1x1 pixel image file online, either on your server or via cloud storage, like Azure Blob Storage or SharePoint. What is important is that you have an URL and anyone call reach this URL.
Save the URL for later use. With your pixel tracker ready, we can use Power Automate to capture when the image is accessed.
Step 2: Create a Power Automate Flow to Capture Opens


We’ll add custom parameters to the URL generated by Power Automate. These parameters allow us to capture key tracking details:
Extract Query Parameters
There are many resources available online on how to extract query parameters in an HTTP requet.

Store the captured data in a location that suits your reporting needs, such as SharePoint line, Dataverse, or Excel Online.

Get and Serve the Pixel
Since this HTTP request will be added to an image tag, it needs to serve an image in response to the email client. Here’s how it works:
Add an HTTP call using the URL of the image hosted in our Step 1



Test and Analyze Results
Hope you enjoyed this tutorial!