Question:
Why Do Approved Email Templates Render Incorrectly After Sending From Veeva CRM When Using Base64 Images?
Answer:
An email template using base64 images in the code may render properly in a browser, however, once sent from Veeva CRM, the recipient may experience broken image links or complete failure to render the code. This is caused by Vault seeking the <img> tag in the template and replacing it with a Vault CDN path used for tracking and compliance purposes. The example code:
<img src="data:image/jpeg;base64,/5y/3GHQSkZGOgABAQLEDQANVOS/2wBGRESYwQDAwGNBR6hjFBsddfJGKSskfSDFHHDD...
Becomes:
<img src="https://cdnae1.vod309.com/d735d0c2-bcd3-4335-9abb-024c3430a996/0000010/000100/007/752/0/1/assetFiles/images/data:image/jpeg;jpeg;base64,/5y/3GHQSkZGOgABAQLEDQANVOS/2wBGRESYwQDAwGNBR6hjFBsddfJGKSskfSDFHHDD...
Since the referenced image is not a file, it will result in broken image links and/or will cause the entire message not to render.
Base64 images are not recommended for use in email templates as some web-based email clients may not display the images. Instead, place the images in the Assets folder and upload the folder to Vault.
It is possible to use base64 images through the use of tokens by placing the entire <img> tag in a record in Veeva CRM and then calling that record with a token.
Related Documentation:
CRM Help Documentation: