diff --git a/portal/tests/test_views.py b/portal/tests/test_views.py
index 1d624546f..9455121ac 100644
--- a/portal/tests/test_views.py
+++ b/portal/tests/test_views.py
@@ -40,7 +40,12 @@
 from deploy import captcha
 from portal.templatetags.app_tags import is_logged_in_as_admin_teacher
 from portal.views.api import anonymise
-from portal.views.cron.user import USER_DELETE_UNVERIFIED_ACCOUNT_DAYS
+from portal.views.cron.user import (
+    USER_DELETE_UNVERIFIED_ACCOUNT_DAYS,
+    USER_2ND_INACTIVE_REMINDER_DAYS,
+    USER_FINAL_INACTIVE_REMINDER_DAYS,
+    USER_RETENTION_PERIOD,
+)
 from portal.views.teacher.teach import (
     REMINDER_CARDS_PDF_COLUMNS,
     REMINDER_CARDS_PDF_ROWS,
@@ -1238,6 +1243,7 @@ def send_inactivity_reminder(
         assert_called: bool,
         campaign_name: str,
         mock_send_dotdigital_email: Mock,
+        personalization_values=None,
     ):
         self.teacher_user.date_joined = timezone.now() - timedelta(
             days=days, hours=12
@@ -1255,13 +1261,28 @@ def send_inactivity_reminder(
         self.client.get(reverse(view_name))
 
         if assert_called:
-            mock_send_dotdigital_email.assert_any_call(
-                campaign_ids[campaign_name], [self.teacher_user.email]
-            )
+            if personalization_values is not None:
+                mock_send_dotdigital_email.assert_any_call(
+                    campaign_ids[campaign_name],
+                    [self.teacher_user.email],
+                    personalization_values=personalization_values,
+                )
 
-            mock_send_dotdigital_email.assert_any_call(
-                campaign_ids[campaign_name], [self.indy_user.email]
-            )
+                mock_send_dotdigital_email.assert_any_call(
+                    campaign_ids[campaign_name],
+                    [self.indy_user.email],
+                    personalization_values=personalization_values,
+                )
+            else:
+                mock_send_dotdigital_email.assert_any_call(
+                    campaign_ids[campaign_name],
+                    [self.teacher_user.email],
+                )
+
+                mock_send_dotdigital_email.assert_any_call(
+                    campaign_ids[campaign_name],
+                    [self.indy_user.email],
+                )
 
             # Check only two emails are sent - the student should never be included.
             assert mock_send_dotdigital_email.call_count == 2
@@ -1302,6 +1323,10 @@ def test_second_inactivity_reminder_view(self):
             "second-inactivity-reminder",
             True,
             "inactive_users_on_website_second_reminder",
+            personalization_values={
+                "DAYS_LEFT": USER_RETENTION_PERIOD
+                - USER_2ND_INACTIVE_REMINDER_DAYS
+            },
         )
         self.send_inactivity_reminder(
             974,
@@ -1322,6 +1347,10 @@ def test_final_inactivity_reminder_view(self):
             "final-inactivity-reminder",
             True,
             "inactive_users_on_website_final_reminder",
+            personalization_values={
+                "DAYS_LEFT": USER_RETENTION_PERIOD
+                - USER_FINAL_INACTIVE_REMINDER_DAYS
+            },
         )
         self.send_inactivity_reminder(
             1066,
diff --git a/portal/views/cron/user.py b/portal/views/cron/user.py
index 488626dd8..9531703dc 100644
--- a/portal/views/cron/user.py
+++ b/portal/views/cron/user.py
@@ -22,6 +22,7 @@
 USER_1ST_INACTIVE_REMINDER_DAYS = 730  # 2 years
 USER_2ND_INACTIVE_REMINDER_DAYS = 973  # roughly 2 years and 8 months
 USER_FINAL_INACTIVE_REMINDER_DAYS = 1065  # 2 years and 11 months
+USER_RETENTION_PERIOD = 1096  # 3 years
 
 
 def get_unverified_users(
@@ -266,6 +267,10 @@ def get(self, request):
                             "inactive_users_on_website_second_reminder"
                         ],
                         [email],
+                        personalization_values={
+                            "DAYS_LEFT": USER_RETENTION_PERIOD
+                            - USER_2ND_INACTIVE_REMINDER_DAYS
+                        },
                     )
 
                     sent_email_count += 1
@@ -300,6 +305,10 @@ def get(self, request):
                             "inactive_users_on_website_final_reminder"
                         ],
                         [email],
+                        personalization_values={
+                            "DAYS_LEFT": USER_RETENTION_PERIOD
+                            - USER_FINAL_INACTIVE_REMINDER_DAYS
+                        },
                     )
 
                     sent_email_count += 1