Image Caching

Apple’s Mail Privacy Protection changes the way Apple handles images in the inbox. Instead of retrieving images at the time the email is opened, Apple Mail will pre-fetch all images. Once the images are in Apple’s cache, they do not update.
Here’s the details for how their image handling is currently working:
  • When the subscriber’s Apple Mail app starts up, it triggers a download of the email to their device
  • At that time, and generally before the email is read, Apple caches all of the images in the email, creating a copy of the images to a new location on the Apple Privacy Cache with an IP address assigned to the general region of the subscriber instead of their specific geolocation.
  • This caching process requires Apple to request images from Kickdynamic and then Apple will create a copy of these images.
  • If the subscriber opens the email, it triggers a request to download and display the email’s images, but instead of coming from Kickdynamic’s servers, they’re coming from the Apple Cache.

Updated Information 2022

Mail Privacy Protection (MPP) pre-fetches images which means that some widgets don't update at the moment the email is opened. To be affected, subscribers must have enabled Mail Privacy Protection and be connected to a wireless network with the Mail app running in the background (source). Kickdynamic has a MPP solution to display alternative content.
According to Litmus’ April 2022 Email Client Market Share - 57% of market share is Apple, with around 50% of those having MPP enabled. Based on this, around 25% of subscribers are MPP opens.

Action required:

To ensure each individual recipient gets the most up to date content we require you to add two parameters into every Kickdynamic image source (the ‘img src’ part of the Kickdynamic tag).
The combination of customer id & send date ensure each image source is one of a kind so each time that tag is delivered to an MPP environment Apple considers it to be a 'new image' even if the tag has been used across multiple sends. The result is that Apple requests the latest content to store in its cache for when the email is opened.
These parameters are:
1. Customer ID - we recommend that you add a customer ID parameter, which is unique to each recipient, into our tag via a merge code. This can be a userID, CustomerID or profile number that exists as a unique identifier in your CRM / ESP. This ID can be in any format of letters, numbers and punctuation. This ID cannot be an email address. The parameter is '&kdcustomerid='
Parameter name (this should be added to the end of the href and img src): &kdcustomerid=
Example ESP parameter code: {{ profile.customer_id }}
Full example: &kdcustomerid={{ profile.customer_id }}
Full example after send: &kdcustomerid=196GwStyu34
2. Date/Time stamp of send - This is generated by your ESP and is simply merging in the date/time the email is sent. This can be in any datetime format eg 13/09/2021 or 12020012092021.
Parameter name (this should be added to the end of the img src link): &kddatetime=
Example ESP parameter code: {{ campaign.date_time }}
Full example: &kddatetime={{ campaign.date_time }}
Full example after send: &kddatetime=12020012092021
Example Kickdynamic tag before:
<a href=“”><img src=“” width=“300” height=“200" border=“0” /></a>
Example Kickdynamic tag after new parameters:
<a href=“”><img src=“{{ profile.customer_id }}&kddatetime={{ campaign.date_time }}” width=“300” height=“200" border=“0” /></a>
If the image src in tag you have created ends in .png you will need to adjust the tag to be able to handle these parameters.