SendGrid Click Tracking Issue with VML Round Buttons in Microsoft Outlook Classic

Issue

If your HTML emails use VML to create round buttons (specifically with <v:roundrect href="...">), you may notice that SendGrid’s click tracking does not work on these buttons in Microsoft Outlook Classic. When someone hovers over the button, the click-tracked URL isn’t displayed or registered.


Product

Twilio SendGrid (Email)


Cause

What is VML? Vector Markup Language (VML) is an older Microsoft markup language used in email development for visual elements like vector shapes and rounded buttons. It’s mostly used to support Outlook for Windows, which doesn’t handle modern HTML and CSS well.

Why is this an issue? Click tracking in Twilio SendGrid relies on modifying standard HTML <a href="..."> links. VML round buttons, built with <v:roundrect href="...">, aren’t standard links, and older Outlook versions (including Outlook Classic) don’t translate these as clickable, tracked URLs for SendGrid’s system.


Example

<!-- NOT tracked in Outlook Classic -->
<v:roundrect href="https://your-link.com" ...>Button</v:roundrect>

<!-- Tracked in all clients, including Outlook Classic -->
<a href="https://your-link.com" style="...">Button</a>

How VML Behaves with Click Tracking

  • Outlook Classic: Click tracking on <v:roundrect href="..."> buttons generally does not work.
  • Newer Outlook/Other clients: Click tracking may work, but this can be inconsistent.

Resolution

To make sure click tracking works everywhere:

  • Use standard HTML <a href="..."> tags for all buttons or links you want tracked.
  • Avoid using VML’s <v:roundrect href="..."> for critical links if you need tracking, especially for recipients using Outlook Classic.

Tip: If you must use VML for design purposes in Outlook, combine it with a standard HTML <a href="..."> inside your VML, and make sure the actual tracked link is on the <a>, not just the VML attribute.


 Additional Information 

Twilio SendGrid Click Tracking Best Practices

Microsoft Vector Markup Language (VML)

Have more questions? Submit a request