{"id":41749,"date":"2024-11-29T16:05:29","date_gmt":"2024-11-29T10:35:29","guid":{"rendered":"https:\/\/email.uplers.com\/blog\/?p=41749"},"modified":"2024-12-02T11:55:51","modified_gmt":"2024-12-02T06:25:51","slug":"the-developers-guide-to-email-gamification","status":"publish","type":"post","link":"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/","title":{"rendered":"The Developer\u2019s Code-by-Code Guide to Email Gamification"},"content":{"rendered":"\n<p>Inventing a game is one thing; implementing it in email, another. This is because:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Developing a game is costly and time-consuming. <br \/><\/strong><\/li><li><strong>Email gamification is not everyone\u2019s cup of tea, so it may lead to a kind of analysis paralysis mid-project, causing limbo. <\/strong><br \/><\/li><li><strong>Client compatibility may be the biggest challenge.<\/strong><br \/><\/li><li><strong>Mobile accessibility can be quite tricky to pull off.<\/strong>&nbsp;<\/li><\/ul>\n\n\n\n<p>Therefore, if you want to <a href=\"https:\/\/email.uplers.com\/blog\/gamification-email-marketing\/\" target=\"_blank\" rel=\"noreferrer noopener\">gamify an email<\/a>, you need more than expertise. You need experience, intuition, and a competent team.&nbsp;<br \/><br \/>Gamification being one of our strong suits, our developers know what exactly goes into creating fully-functioning games for email. In this guide, we show how we built our latest Thanksgiving game for our subscribers. Let\u2019s go!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"How\"><strong>How the Thanksgiving Game Works<\/strong><\/h2>\n\n\n\n<p>Our <a href=\"https:\/\/email.uplers.com\/blog\/thanksgiving-email-templates-inspirations\/\">Thanksgiving<\/a> game features Oliver and his cat, Whiskers, who is missing. As Oliver, you need to find the right kitchen cupboard to get a turkey and use it to lure Whiskers back so you can celebrate Thanksgiving together.&nbsp;<\/p>\n\n\n\n<p>We recommend that you <a href=\"https:\/\/emailmarketing.uplers.com\/can-you-help-oliver-find-whiskers-this-thanksgiving?hs_preview=vdOERKHf-182704132920\">play the game<\/a> yourself first.&nbsp;<\/p>\n\n\n\n<p>Before diving into how we built the game, let\u2019s first review the key CSS properties used to manage visuals, presentations, and animations. These are:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Opacity&nbsp;<\/strong><\/li><li><strong>Visibility&nbsp;<\/strong><\/li><li><strong>Keyframes<\/strong><\/li><li><strong>Labels&nbsp;<\/strong><\/li><\/ul>\n\n\n\n<p>Let\u2019s understand each of these in some detail.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. <strong>Opacity<\/strong><\/h3>\n\n\n\n<p>The opacity property manages an element&#8217;s transparency.&nbsp;<\/p>\n\n\n\n<p>Set to <strong>opacity: 0;<\/strong>, the element becomes fully invisible while remaining part of the layout and interactive.&nbsp;<\/p>\n\n\n\n<p>This property is particularly useful for creating fade effects.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\" snippet-height=\"\" style=\"background-color:#abb8c3\"><div class=\"control-language\"><div class=\"dm-buttons\"><div class=\"dm-buttons-left\"><div class=\"dm-button-snippet red-button\"><\/div><div class=\"dm-button-snippet orange-button\"><\/div><div class=\"dm-button-snippet green-button\"><\/div><\/div><div class=\"dm-buttons-right\"><a id=\"dm-copy-raw-code\"><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span><span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a><\/div><\/div><pre class=\" no-line-numbers\"><code id=\"dm-code-raw\" class=\" no-wrap language-php\">.transparent-element   {\nopacity: 0; \/* Element is invisible but still clickable *\/\n}\n<\/code><\/pre><\/div><\/div>\n\n\n\n<p><\/p>\n\n\n<div class=\"banner_wrapper\" style=\"\"><div class=\"banner  banner-41179 bottom vert custom-banners-theme-default_style\" style=\"\"><a class=\"custom_banners_big_link\"  target=\"_blank\"  href=\"https:\/\/email.uplers.com\/holiday-page\/?utm_source=email_uplers&utm_medium=blog_cta_banner&utm_campaign=holiday_campaign\"><\/a><\/div><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">2. <strong>Visibility<\/strong><\/h3>\n\n\n\n<p>The visibility property hides an element without removing it from the layout.<\/p>\n\n\n\n<p>When set to <strong>visibility: hidden;<\/strong>, the element becomes invisible and non-interactive but continues to occupy space.<br \/><br \/><\/p>\n\n\n\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\" snippet-height=\"\" style=\"background-color:#abb8c3\"><div class=\"control-language\"><div class=\"dm-buttons\"><div class=\"dm-buttons-left\"><div class=\"dm-button-snippet red-button\"><\/div><div class=\"dm-button-snippet orange-button\"><\/div><div class=\"dm-button-snippet green-button\"><\/div><\/div><div class=\"dm-buttons-right\"><a id=\"dm-copy-raw-code\"><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span><span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a><\/div><\/div><pre class=\" no-line-numbers\"><code id=\"dm-code-raw\" class=\" no-wrap language-php\">.hidden-element   {\nvisibility: hidden; \/* Element is hidden and non-interactable *\/\n}\n<\/code><\/pre><\/div><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">3. <strong>Keyframes<\/strong><\/h3>\n\n\n\n<p>Keyframes enable you to define the intermediate stages of an animation, specifying the start, middle, and end states.&nbsp;<\/p>\n\n\n\n<p>This allows for smooth transitions of properties such as opacity.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\" snippet-height=\"\" style=\"background-color:#abb8c3\"><div class=\"control-language\"><div class=\"dm-buttons\"><div class=\"dm-buttons-left\"><div class=\"dm-button-snippet red-button\"><\/div><div class=\"dm-button-snippet orange-button\"><\/div><div class=\"dm-button-snippet green-button\"><\/div><\/div><div class=\"dm-buttons-right\"><a id=\"dm-copy-raw-code\"><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span><span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a><\/div><\/div><pre class=\" no-line-numbers\"><code id=\"dm-code-raw\" class=\" no-wrap language-php\">\/* Define the fade-in animation *\/\n@keyframes fade-in02 {\n 0% {\n opacity: 0;          \/* Fully transparent *\/\n visibility: hidden;  \/* Hidden from layout *\/\n}\n 100% {\n opacity: 1;          \/* Fully visible *\/\n visibility: visible; \/* Visible in layout *\/<\/code><\/pre><\/div><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">4. <strong>Labels<\/strong><\/h3>\n\n\n\n<p>Labels in HTML interactive emails are essential for boosting engagement.&nbsp;<\/p>\n\n\n\n<p>Often paired with form elements like checkboxes, radio buttons, and input fields, they facilitate actions such as toggling content visibility, revealing hidden sections, or enabling in-email navigation. By linking a label\u2019s <strong>for <\/strong>attribute to the corresponding form element\u2019s <strong>id<\/strong>, labels become clickable, enhancing accessibility and interactivity. When used creatively, labels can create dynamic email layouts, including collapsible menus, content revealers, and surveys\u2014all without relying on external scripts, ensuring broad compatibility across email clients.<\/p>\n\n\n\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\" snippet-height=\"\" style=\"background-color:#abb8c3\"><div class=\"control-language\"><div class=\"dm-buttons\"><div class=\"dm-buttons-left\"><div class=\"dm-button-snippet red-button\"><\/div><div class=\"dm-button-snippet orange-button\"><\/div><div class=\"dm-button-snippet green-button\"><\/div><\/div><div class=\"dm-buttons-right\"><a id=\"dm-copy-raw-code\"><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span><span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a><\/div><\/div><pre class=\" no-line-numbers\"><code id=\"dm-code-raw\" class=\" no-wrap language-php\">&lt;! - - Checkbox to toggle visibility (invisible) - - >\n&lt;input type= \u201ccheckbox\u201d   id=\u201cshowContent\u201d   style=\u201cdisplay:none;\u201d>\n&lt;! - - Label that triggers the checkbox - - >\n&lt;label for=\u201cshowContent\u201d>Click here to reveal hidden content in table&lt;\/label><\/code><\/pre><\/div><\/div>\n\n\n\n<p>Let\u2019s now understand the entire game in detail.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Diving\"><strong>Diving into the Nitty-gritty!<\/strong><\/h2>\n\n\n\n<p>Here\u2019s the preview of our Thanksgiving game.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"http:\/\/edmimages.net\/edm\/2018-LiveImages-EDM\/blog\/resources\/uploads\/upload_images\/do_not_delete_files\/image3.gif\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Labels and Page Transitions<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Checkbox:<br \/><\/strong>The checkbox <strong>&lt;input type=&#8221;checkbox&#8221; id=&#8221;redirect-checkbox&#8221;&gt;<\/strong> is hidden using <strong>display: none;<\/strong>. It serves as the trigger for the transition.<br \/><\/li><li><strong>Label:<br \/><\/strong>The <strong>&lt;label for=&#8221;redirect-checkbox&#8221;&gt;<\/strong> is styled to resemble a button. Clicking the label toggles the hidden checkbox.<br \/><\/li><li><strong>CSS Logic:<br \/><\/strong><ul><li>The <strong>&lt;a&gt;<\/strong> link is initially hidden using <strong>display: none;<\/strong>.<\/li><li>When the checkbox is checked (<strong>#redirect-checkbox:checked<\/strong>), CSS makes the link visible.<\/li><\/ul><\/li><\/ol>\n\n\n\n<p>4. <strong>Redirection:<br \/><\/strong>The user clicks the label to reveal the link, and clicking the link redirects them to the next page.<\/p>\n\n\n\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\" snippet-height=\"\" style=\"background-color:#abb8c3\"><div class=\"control-language\"><div class=\"dm-buttons\"><div class=\"dm-buttons-left\"><div class=\"dm-button-snippet red-button\"><\/div><div class=\"dm-button-snippet orange-button\"><\/div><div class=\"dm-button-snippet green-button\"><\/div><\/div><div class=\"dm-buttons-right\"><a id=\"dm-copy-raw-code\"><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span><span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a><\/div><\/div><pre class=\" no-line-numbers\"><code id=\"dm-code-raw\" class=\" no-wrap language-php\">&lt;form>\n    &lt;input type=\"checkbox\" name=\"Help Oliver\" id=\"em_help\" style=\"display:none;\" \/>\n    &lt;input type=\"checkbox\" name=\"Game Story\" id=\"em_enter\" style=\"display:none;\" \/>\n    &lt;input type=\"checkbox\" name=\"living\" id=\"em_living_room\" style=\"display:none;\" \/>\n    &lt;input type=\"radio\" name=\"turkey\" id=\"em_click_turkey\" style=\"display:none;\" \/>\n    &lt;input type=\"checkbox\" name=\"kitchen\" id=\"em_back_kitchen\" style=\"display:none;\" \/>\n    &lt;input type=\"radio\" name=\"door\" id=\"em_left_door\" style=\"display:none;\">\n    &lt;input type=\"radio\" name=\"door\" id=\"em_right_door\" style=\"display:none;\">\n    &lt;input type=\"checkbox\" name=\"room\" id=\"em_back_living_room\" style=\"display:none;\" \/>\n    &lt;input type=\"reset\" name=\"reset\" id=\"reset\" style=\"display:none;\" \/><\/code><\/pre><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Frame\"><strong>Frame 1<\/strong><\/h2>\n\n\n\n<div class=\"wp-block-image border1-black\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"891\" height=\"883\" src=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image1-5.png\" alt=\"\" class=\"wp-image-41755\" srcset=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image1-5.png 891w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image1-5-300x297.png 300w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image1-5-150x150.png 150w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image1-5-768x761.png 768w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image1-5-141x140.png 141w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image1-5-624x618.png 624w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image1-5-24x24.png 24w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image1-5-48x48.png 48w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image1-5-96x96.png 96w\" sizes=\"auto, (max-width: 891px) 100vw, 891px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<p>We assigned the label name <strong>em_help<\/strong> to define the interactive area for the click event. The label is associated with an <strong>input<\/strong> element (checkbox or radio) via the <strong>for <\/strong>attribute and wraps a clickable image. The image serves as a visually engaging call-to-action (CTA) element, styled with properties like width, height, and alt text to ensure accessibility and responsiveness.&nbsp;<\/p>\n\n\n\n<p>When the label is clicked, it toggles the hidden <strong>input<\/strong> element with the ID <strong>em_help<\/strong>, which can be further styled or linked using CSS rules or HTML logic to perform a redirection or trigger an action to the second page. This approach combines functionality, interactivity, and visual appeal to create an intuitive user experience.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\" snippet-height=\"\" style=\"background-color:#abb8c3\"><div class=\"control-language\"><div class=\"dm-buttons\"><div class=\"dm-buttons-left\"><div class=\"dm-button-snippet red-button\"><\/div><div class=\"dm-button-snippet orange-button\"><\/div><div class=\"dm-button-snippet green-button\"><\/div><\/div><div class=\"dm-buttons-right\"><a id=\"dm-copy-raw-code\"><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span><span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a><\/div><\/div><pre class=\" no-line-numbers\"><code id=\"dm-code-raw\" class=\" no-wrap language-php\">&lt;tr>\n  &lt;td align=\"center\" valign=\"top\" class=\"em_f1_ctaimg01\">\n    &lt;label for=\"em_help\">\n      &lt;img \n        src=\"https:\/\/2700725.fs1.hubspotusercontent-na1.net\/hubfs\/2700725\/Thanksgiving_2024\/cta_01.png\" \n        width=\"346\" \n        height=\"72\" \n        alt=\"YEAH, LET'S HELP OLIVER\" \n        style=\"display: block; \n               font-family: Arial, sans-serif; \n               font-size: 14px; \n               line-height: 18px; \n               color: #000000; \n               max-width: 346px;\" \n        border=\"0\" \n      \/>\n    &lt;\/label>\n  &lt;\/td>\n&lt;\/tr><\/code><\/pre><\/div><\/div>\n\n\n\n<p><\/p>\n\n\n<div class=\"banner_wrapper\" style=\"\"><div class=\"banner  banner-40230 bottom vert custom-banners-theme-default_style\" style=\"\"><a class=\"custom_banners_big_link\"  target=\"_blank\"  href=\"https:\/\/email.uplers.com\/hire-dedicated-email-developer\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1001\" height=\"376\" src=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/07\/Banner-02-100.jpg\" class=\"attachment-full size-full\" alt=\"Responsive Email Design\" srcset=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/07\/Banner-02-100.jpg 1001w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/07\/Banner-02-100-300x113.jpg 300w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/07\/Banner-02-100-768x288.jpg 768w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/07\/Banner-02-100-624x234.jpg 624w\" sizes=\"auto, (max-width: 1001px) 100vw, 1001px\" \/><\/a><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"2\"><strong>Frame 2<\/strong><\/h2>\n\n\n\n<div class=\"wp-block-image border1-black\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"629\" height=\"882\" src=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image8-2.png\" alt=\"\" class=\"wp-image-41756\" srcset=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image8-2.png 629w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image8-2-214x300.png 214w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image8-2-100x140.png 100w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image8-2-624x875.png 624w\" sizes=\"auto, (max-width: 629px) 100vw, 629px\" \/><\/figure><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>When the label is checked, Frame 2 becomes visible with a smooth and dynamic animation. This animation sequence first reveals Whisker (the cat) and Oliver (the boy), followed by the appearance of the second frame pop-up after a 1-second delay. The keyframe animation <strong>slide-in-elliptic-top-fwd<\/strong> is responsible for this effect. Initially, the element starts off-screen, positioned at <strong>translateY(-600px)<\/strong>, with a rotation on the X-axis and scaled down to 0. This creates an effect of the element &#8220;flying in&#8221; from the top while rotating slightly. As the animation progresses, the element smoothly moves to its final position (<strong>translateY(0)<\/strong>) with no rotation or scaling, gradually becoming fully visible with an opacity transition from 0 to 1.<\/p>\n\n\n\n<p>The animation has a 1-second delay (<strong>animation-delay: 1s<\/strong>), ensuring that the content appears after the label is checked, allowing for a smooth, timed transition. The use of <strong>visibility: visible<\/strong> and <strong>opacity: 1<\/strong> makes the element fully appear on screen, while <strong>visibility: hidden<\/strong> ensures it is not displayed before the animation starts. This creates a visually engaging and polished effect that enhances the user experience by allowing content to appear in a coordinated and aesthetically pleasing way.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\" snippet-height=\"\" style=\"background-color:#abb8c3\"><div class=\"control-language\"><div class=\"dm-buttons\"><div class=\"dm-buttons-left\"><div class=\"dm-button-snippet red-button\"><\/div><div class=\"dm-button-snippet orange-button\"><\/div><div class=\"dm-button-snippet green-button\"><\/div><\/div><div class=\"dm-buttons-right\"><a id=\"dm-copy-raw-code\"><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span><span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a><\/div><\/div><pre class=\" no-line-numbers\"><code id=\"dm-code-raw\" class=\" no-wrap language-php\">\/* Frame 2 Comes after Some Delay *\/\n#em_help:checked~table .slide-in-elliptic-top-fwd {\n\t-webkit-animation: slide-in-elliptic-top-fwd 1s ease-in both;\n\tanimation: slide-in-elliptic-top-fwd 1s ease-in both;\n\tanimation-delay: 1s;\n\t-webkit-animation-delay: 1s;\n\topacity: 0;\n\tvisibility: hidden;\n}\n @-webkit-keyframes slide-in-elliptic-top-fwd {\n 0% {\n -webkit-transform: translateY(-600px) rotateX(-30deg) scale(0);\n transform: translateY(-600px) rotateX(-30deg) scale(0);\n -webkit-transform-origin: 50% 100%;\n transform-origin: 50% 100%;\n}\n 100% {\n -webkit-transform: translateY(0) rotateX(0) scale(1);\n transform: translateY(0) rotateX(0) scale(1);\n -webkit-transform-origin: 50% 1400px;\n transform-origin: 50% 1400px;\n opacity: 1;\n visibility: visible;\n}\n}\n @keyframes slide-in-elliptic-top-fwd {\n 0% {\n -webkit-transform: translateY(-600px) rotateX(-30deg) scale(0);\n transform: translateY(-600px) rotateX(-30deg) scale(0);\n -webkit-transform-origin: 50% 100%;\n transform-origin: 50% 100%;<\/code><\/pre><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"3\"><strong>Frames 3 &amp; 4<\/strong><\/h2>\n\n\n\n<div class=\"wp-block-image border1-black\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"532\" src=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image6-1024x532.jpg\" alt=\"\" class=\"wp-image-41757\" srcset=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image6-1024x532.jpg 1024w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image6-300x156.jpg 300w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image6-768x399.jpg 768w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image6-269x140.jpg 269w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image6-540x282.jpg 540w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image6-624x324.jpg 624w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image6.jpg 1399w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<p>After the second frame appears, clicking a button triggers the redirection to the third frame. The 3rd frame will fade in using the <strong>fade-in<\/strong> keyframe animation, remain visible for a few seconds, and then fade out using the <strong>fade-out<\/strong> keyframe animation, smoothly transitioning to the 4th frame. This sequence is activated when the associated label is checked, triggering the animations.<\/p>\n\n\n\n<p>The <strong>fade-in<\/strong> keyframe animation gradually increases the opacity of the third frame, making it visible, while the <strong>fade-out<\/strong> keyframe animation decreases the opacity, causing the frame to disappear.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\" snippet-height=\"\" style=\"background-color:#abb8c3\"><div class=\"control-language\"><div class=\"dm-buttons\"><div class=\"dm-buttons-left\"><div class=\"dm-button-snippet red-button\"><\/div><div class=\"dm-button-snippet orange-button\"><\/div><div class=\"dm-button-snippet green-button\"><\/div><\/div><div class=\"dm-buttons-right\"><a id=\"dm-copy-raw-code\"><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span><span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a><\/div><\/div><pre class=\" no-line-numbers\"><code id=\"dm-code-raw\" class=\" no-wrap language-php\">#em_enter:checked~table .em_frame3 {\n\t-webkit-animation: fade-in-out 5s ease-in-out both;\n\tanimation: fade-in-out 5s ease-in-out both;\n\t\n}\n @-webkit-keyframes fade-in-out {\n 0% {\n opacity: 0;\n}\n 20% {\n opacity: 1;\n}\n 80% {\n opacity: 1;\n}\n 100% {\n opacity: 0;\n}\n}\n @keyframes fade-in-out {\n 0% {\n opacity: 0;\n}\n 20% {\n opacity: 1;\n}\n 80% {\n opacity: 1;\n}\n 100% {\n opacity: 0;\n}\n#em_enter:checked~table .em_frame4 {\n\t-webkit-animation: fade-in02 3s ease-in both;\n\tanimation: fade-in02 3s ease-in both;\n\tanimation-delay: 4s;\n\t-webkit-animation-delay: 4s;\n}\n @-webkit-keyframes fade-in02 {\n 0% {\n opacity: 0;\n visibility: hidden;\n}\n 100% {\n opacity: 1;\n visibility: visible;\n}\n}\n @keyframes fade-in02 {\n 0% {\n opacity: 0;\n visibility: hidden;\n}\n 100% {\n opacity: 1;\n visibility: visible;\n}\n}\n#em_enter:checked~table .em_frame4 {\n\topacity: 0;\n\tvisibility: hidden;\n\n<\/code><\/pre><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"5\"><strong>Frames 5 &amp; 6<\/strong><\/h2>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full border1-black\"><img loading=\"lazy\" decoding=\"async\" width=\"1116\" height=\"535\" src=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image2-1.jpg\" alt=\"\" class=\"wp-image-41759\" srcset=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image2-1.jpg 1116w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image2-1-300x144.jpg 300w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image2-1-1024x491.jpg 1024w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image2-1-768x368.jpg 768w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image2-1-292x140.jpg 292w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image2-1-624x299.jpg 624w\" sizes=\"auto, (max-width: 1116px) 100vw, 1116px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-image border1-black\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"472\" src=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image5-1-1024x472.jpg\" alt=\"\" class=\"wp-image-41786\" srcset=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image5-1-1024x472.jpg 1024w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image5-1-300x138.jpg 300w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image5-1-768x354.jpg 768w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image5-1-624x288.jpg 624w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image5-1.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p>In the kitchen scene, a cupboard and two interactive buttons are presented. When a user clicks a button, the cupboard opens to reveal different items based on the selection. Clicking the left button reveals a turkey inside the cupboard, while the right button displays a dog. This interactive element adds dynamism, allowing the user\u2019s choice to influence the outcome.<\/p>\n\n\n\n<p>Once the item (turkey or dog) is revealed, the scene transitions smoothly to the next frame, continuing the <a href=\"https:\/\/email.uplers.com\/infographics\/holiday-email-marketing\/Holiday-Email-Marketing.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">gamified flow<\/a>. The timed transition ensures the content progresses seamlessly after a brief interaction, enhancing the overall user experience.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\" snippet-height=\"\" style=\"background-color:#abb8c3\"><div class=\"control-language\"><div class=\"dm-buttons\"><div class=\"dm-buttons-left\"><div class=\"dm-button-snippet red-button\"><\/div><div class=\"dm-button-snippet orange-button\"><\/div><div class=\"dm-button-snippet green-button\"><\/div><\/div><div class=\"dm-buttons-right\"><a id=\"dm-copy-raw-code\"><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span><span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a><\/div><\/div><pre class=\" no-line-numbers\"><code id=\"dm-code-raw\" class=\" no-wrap language-php\">\/*Frame 5 CSS*\/\n#em_left_door:checked~table .em_left_door {\n\tbackground: url(https:\/\/2700725.fs1.hubspotusercontent-na1.net\/hubfs\/2700725\/Thanksgiving_2024\/cup_left_open.png) left top no-repeat;\n\twidth: 368px;\n\theight: 320px;\n}\n#em_right_door:checked~table .em_right_door {\n\tbackground: url(https:\/\/2700725.fs1.hubspotusercontent-na1.net\/hubfs\/2700725\/Thanksgiving_2024\/cup_right_open.png) right top no-repeat;\n\twidth: 368px;\n\theight: 320px;\n}\n#em_left_door:checked~table .turkey_img_show {\n\tdisplay: block !important;\n}\n#em_left_door:checked~table .f5_em_opacity {\n\tbackground-color: rgba(250, 213, 194, 0.8) !important;\n}\n#em_right_door:checked~table .em_left_door {\n\tdisplay: none !important;\n}\n#em_left_door:checked~table .em_right_door {\n\tdisplay: none !important;\n}\n\/* After Enter Left Door *\/\n#em_left_door:checked~table .em_frame6 {\n\tz-index: 999 !important;\n\t-webkit-animation: fade-in02 1s ease-in both;\n\tanimation: fade-in02 1s ease-in both;\n\tanimation-delay: 1s;\n\t-webkit-animation-delay: 1s;\n}\n @-webkit-keyframes fade-in02 {\n 0% {\n opacity: 0;\n visibility: hidden;\n}\n 100% {\n opacity: 1;\n visibility: visible;\n}\n}\n @keyframes fade-in02 {\n 0% {\n opacity: 0;\n visibility: hidden;\n}\n 100% {\n opacity: 1;\n visibility: visible;\n}\n}\n\/* After Enter Right Door *\/\n#em_right_door:checked~table .em_frame5 {\n\tz-index: 999 !important;\n\t-webkit-animation: fade-in02 1s ease-in both;\n\tanimation: fade-in02 1s ease-in both;\n\tanimation-delay: 2s;\n\t-webkit-animation-delay: 2s;\n}\n @-webkit-keyframes fade-in02 {\n 0% {\n opacity: 0;\n visibility: hidden;\n}\n 100% {\n opacity: 1;\n visibility: visible;\n}\n}\n @keyframes fade-in02 {\n 0% {\n opacity: 0;\n visibility: hidden;\n}\n 100% {\n opacity: 1;\n visibility: visible;\n}\n}\n<\/code><\/pre><\/div><\/div>\n\n\n\n<p><\/p>\n\n\n<div class=\"banner_wrapper\" style=\"\"><div class=\"banner  banner-39980 bottom vert custom-banners-theme-default_style\" style=\"\"><a class=\"custom_banners_big_link\"  target=\"_blank\"  href=\"https:\/\/email.uplers.com\/interactive-email-design-elements\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"240\" src=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/06\/email_gamification.png\" class=\"attachment-full size-full\" alt=\"Gamified Emails\" srcset=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/06\/email_gamification.png 1000w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/06\/email_gamification-300x72.png 300w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/06\/email_gamification-768x184.png 768w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/06\/email_gamification-624x150.png 624w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/div><\/div>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"7\"><strong>Frame 7<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full border1-black\"><img loading=\"lazy\" decoding=\"async\" width=\"811\" height=\"783\" src=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image10-3.png\" alt=\"\" class=\"wp-image-41760\" srcset=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image10-3.png 811w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image10-3-300x290.png 300w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image10-3-768x741.png 768w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image10-3-145x140.png 145w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image10-3-624x602.png 624w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image10-3-24x24.png 24w\" sizes=\"auto, (max-width: 811px) 100vw, 811px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-image border1-black\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"559\" height=\"334\" src=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image7-4.png\" alt=\"\" class=\"wp-image-41761\" srcset=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image7-4.png 559w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image7-4-300x179.png 300w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image7-4-234x140.png 234w\" sizes=\"auto, (max-width: 559px) 100vw, 559px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<p>Clicking on the white box moves the turkey onto the table. When the checkbox with the ID <strong>em_click_turkey<\/strong> is checked, the turkey element (<strong>.em_turkeyin<\/strong>) becomes visible and animates with a <strong>bounce-table<\/strong> effect, moving from the bottom position, creating the appearance of the turkey bouncing onto the table.<\/p>\n\n\n\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\" snippet-height=\"\" style=\"background-color:#abb8c3\"><div class=\"control-language\"><div class=\"dm-buttons\"><div class=\"dm-buttons-left\"><div class=\"dm-button-snippet red-button\"><\/div><div class=\"dm-button-snippet orange-button\"><\/div><div class=\"dm-button-snippet green-button\"><\/div><\/div><div class=\"dm-buttons-right\"><a id=\"dm-copy-raw-code\"><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span><span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a><\/div><\/div><pre class=\" no-line-numbers\"><code id=\"dm-code-raw\" class=\" no-wrap language-php\">\/* Click On Turkey *\/\n#em_click_turkey:checked~table .em_turkeyin {\n\tposition: absolute;\n\tvisibility: visible !important;\n\topacity: 1 !important;\n\t-webkit-animation: bounce-table 1s ease-out forwards;\n\tanimation: bounce-table 1s ease-out forwards;\n}\n @-webkit-keyframes bounce-table {\n 0% {\n bottom: 26px;\n}\n 100% {\n bottom: 215px;\n}\n}\n @keyframes bounce-table {\n 0% {\n bottom: 26px;\n}\n 100% {\n bottom: 215px;\n}\n}\n#em_click_turkey:checked~table .em_f11_imgt {\n\tbackground: url(https:\/\/2700725.fs1.hubspotusercontent-na1.net\/hubfs\/2700725\/Thanksgiving_2024\/turkey_image_03.png) center top no-repeat !important;\n\tbackground-size: contain !important;\n}\n#em_living_room:checked~table .em_fadeout {\n\t-webkit-animation: fade-out 1s ease-in both;\n\tanimation: fade-out 1s ease-in both;\n\tanimation-delay: 7s;\n\t-webkit-animation-delay: 7s;\n}\n @-webkit-keyframes fade-out {\n 0% {\n opacity: 1;\n visibility: visible;\n}\n 100% {\n opacity: 0;\n visibility: hidden;\n}\n}\n @keyframes fade-out {\n 0% {\n opacity: 1;\n visibility: visible;\n}\n 100% {\n opacity: 0;\n visibility: hidden;\n}\n}\n#em_living_room:checked~table .turkey-button-in {\n\t-webkit-animation: fade-in07 1s ease-in both;\n\tanimation: fade-in07 1s ease-in both;\n\t\n}\n @-webkit-keyframes fade-in07 {\n 0% {\n opacity: 0;\n visibility: hidden;\n}\n 100% {\n opacity: 1;\n visibility: visible;\n}\n}\n @keyframes fade-in07 {\n 0% {\n opacity: 0;\n visibility: hidden;\n}\n 100% {\n opacity: 1;\n visibility: visible;\n}\n}\n<\/code><\/pre><\/div><\/div>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"8\"><strong>Frame 8<\/strong><\/h2>\n\n\n\n<div class=\"wp-block-image border1-black\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"705\" height=\"480\" src=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image9-2.png\" alt=\"\" class=\"wp-image-41762\" srcset=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image9-2.png 705w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image9-2-300x204.png 300w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image9-2-206x140.png 206w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image9-2-624x425.png 624w\" sizes=\"auto, (max-width: 705px) 100vw, 705px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<p>Clicking on the turkey triggers a transition to the next frame. When the checkbox with the ID <strong>em_click_turkey<\/strong> is checked, the background of the element <strong>.em_f11_imgt<\/strong> is updated to display a new turkey image, ensuring a smooth visual transition.<\/p>\n\n\n\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\" snippet-height=\"\" style=\"background-color:#abb8c3\"><div class=\"control-language\"><div class=\"dm-buttons\"><div class=\"dm-buttons-left\"><div class=\"dm-button-snippet red-button\"><\/div><div class=\"dm-button-snippet orange-button\"><\/div><div class=\"dm-button-snippet green-button\"><\/div><\/div><div class=\"dm-buttons-right\"><a id=\"dm-copy-raw-code\"><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span><span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a><\/div><\/div><pre class=\" no-line-numbers\"><code id=\"dm-code-raw\" class=\" no-wrap language-php\">#em_click_turkey:checked~table .em_frame8 {\n\t-webkit-animation: fade-in04 1s ease-in both;\n\tanimation: fade-in04 1s ease-in both;\n\tanimation-delay: 1s;\n\t-webkit-animation-delay: 1s;\n}\n @-webkit-keyframes fade-in04 {\n 0% {\n opacity: 0;\n visibility: hidden;\n}\n 100% {\n opacity: 1;\n visibility: visible;\n}\n}\n @keyframes fade-in04 {\n 0% {\n opacity: 0;\n visibility: hidden;\n}\n 100% {\n opacity: 1;\n visibility: visible;<\/code><\/pre><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"9\"><strong>Frames 9 &amp; 10<\/strong><\/h2>\n\n\n\n<div class=\"wp-block-image border1-black\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1288\" height=\"478\" src=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image4.jpg\" alt=\"\" class=\"wp-image-41763\" srcset=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image4.jpg 1288w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image4-300x111.jpg 300w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image4-1024x380.jpg 1024w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image4-768x285.jpg 768w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image4-624x232.jpg 624w\" sizes=\"auto, (max-width: 1288px) 100vw, 1288px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<p>Clicking the &#8220;Back to Kitchen&#8221; button triggers the next frame, and after a few seconds, Frame 9, which contains a timer, appears. When the checkbox with the ID <strong>em_back_kitchen<\/strong> is checked, the background of the element <strong>.em_frames_bg01<\/strong> updates to show the kitchen counter image, creating a visual cue for the next part of the sequence.<\/p>\n\n\n\n<p>The timer effect is achieved using the <strong>timer01<\/strong> keyframe animation. The animation shifts the background position from top to bottom, simulating the countdown or progression of time. As the background moves, it visually indicates that the timer is running, enhancing the interactive experience.<\/p>\n\n\n\n<p>Once the timer ends, Frame 10 transitions to reveal a CTA (call-to-action) button, allowing the user to move back to the living room.<\/p>\n\n\n\n<p>Clicking the &#8220;Go Back to the Living Room&#8221; button triggers the display of the next frame, which contains a CTA featuring a Twitter share link.<\/p>\n\n\n\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\" snippet-height=\"\" style=\"background-color:#abb8c3\"><div class=\"control-language\"><div class=\"dm-buttons\"><div class=\"dm-buttons-left\"><div class=\"dm-button-snippet red-button\"><\/div><div class=\"dm-button-snippet orange-button\"><\/div><div class=\"dm-button-snippet green-button\"><\/div><\/div><div class=\"dm-buttons-right\"><a id=\"dm-copy-raw-code\"><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span><span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a><\/div><\/div><pre class=\" no-line-numbers\"><code id=\"dm-code-raw\" class=\" no-wrap language-php\">\/* Timer Running Out  *\/\n\n#em_back_kitchen:checked~table .em_frames_bg01 {\n\tanimation: timer01 steps(4) 5s backwards;\n\t-webkit-animation: timer01 steps(4) 5s backwards;\n}\n#em_back_kitchen:checked~table .em_frames_bg01 {\n\tbackground: url(https:\/\/2700725.fs1.hubspotusercontent-na1.net\/hubfs\/2700725\/Thanksgiving_2024\/Counter.png) center bottom no-repeat;\n\tbackground-size: 100%;\n}\n @-webkit-keyframes timer01 {\n 0% {\n background-position: top;\n}\n 100% {\n background-position: bottom;\n}\n}\n @keyframes timer01 {\n 0% {\n background-position: top;\n}\n 100% {\n background-position: bottom;\n}\n}\n#em_back_kitchen:checked~table .em_hide_game {\n\tz-index: -999 !important;\n\t-webkit-animation: time-out 0.5s both;\n\tanimation: time-out 0.5s both;\n\tanimation-delay: 6s;\n\t-webkit-animation-delay: 6s;\n}\n @-webkit-keyframes time-out {\n from {\n opacity: 1;\n visibility: visible;\n}\n 10% {\n opacity: 0;\n visibility: hidden;\n}\nto {\n\topacity: 0;\n\tvisibility: hidden;\n}\n}\n @keyframes time-out {\n from {\n opacity: 1;\n visibility: visible;\n}\n 10% {\n opacity: 0;\n visibility: hidden;\n}\nto {\n\topacity: 0;\n\tvisibility: hidden;\n}\n}\n#em_back_kitchen:checked~table .em_frame10 {\n\tz-index: 999 !important;\n\t-webkit-animation: fade-in05 1s ease-in both;\n\tanimation: fade-in05 1s ease-in both;\n\tanimation-delay: 6.5s;\n\t-webkit-animation-delay: 6.5s;\n}\n @-webkit-keyframes fade-in05 {\n 0% {\n opacity: 0;\n visibility: hidden;\n}\n 100% {\n opacity: 1;\n visibility: visible;\n}\n}\n @keyframes fade-in05 {\n 0% {\n opacity: 0;\n visibility: hidden;\n}\n 100% {\n opacity: 1;\n visibility: visible;\n}\n}<\/code><\/pre><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"The\"><strong>The Final Frame<\/strong><\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"642\" height=\"859\" src=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image11.png\" alt=\"\" class=\"wp-image-41764\" srcset=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image11.png 642w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image11-224x300.png 224w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image11-105x140.png 105w, https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/image11-624x835.png 624w\" sizes=\"auto, (max-width: 642px) 100vw, 642px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\" snippet-height=\"\" style=\"background-color:#abb8c3\"><div class=\"control-language\"><div class=\"dm-buttons\"><div class=\"dm-buttons-left\"><div class=\"dm-button-snippet red-button\"><\/div><div class=\"dm-button-snippet orange-button\"><\/div><div class=\"dm-button-snippet green-button\"><\/div><\/div><div class=\"dm-buttons-right\"><a id=\"dm-copy-raw-code\"><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span><span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a><\/div><\/div><pre class=\" no-line-numbers\"><code id=\"dm-code-raw\" class=\" no-wrap language-php\">\/* Final Screen *\/\n#em_back_living_room:checked~table td.em_room {\n\tbackground: url(https:\/\/2700725.fs1.hubspotusercontent-na1.net\/hubfs\/2700725\/Thanksgiving_2024\/background_image02.jpg) center top no-repeat !important;\n\tbackground-size: cover !important;\n}\n#em_back_living_room:checked~table .em_share {\n\tz-index: 999 !important;\n\t-webkit-animation: fade-in06 1s ease-in both;\n\tanimation: fade-in06 1s ease-in both;\n\tanimation-delay: 1s;\n\t-webkit-animation-delay: 1s;\n}\n @-webkit-keyframes fade-in06 {\n 0% {\n opacity: 0;\n visibility: hidden;\n}\n 100% {\n opacity: 1;\n visibility: visible;\n}\n}\n @keyframes fade-in06 {\n 0% {\n opacity: 0;\n visibility: hidden;\n}\n 100% {\n opacity: 1;\n visibility: visible;\n}\n}\n#em_back_living_room:checked~table .em_kitchen {\n\tdisplay: none;\n\n<\/code><\/pre><\/div><\/div>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Fallback\"><strong>Fallback Version<\/strong><\/h2>\n\n\n\n<p>For email clients that do not support HTML5 and CSS3, it is necessary to create an alternative block of code that replicates the layout of the interactive content.&nbsp;<\/p>\n\n\n\n<p>This block will maintain the visual appearance of the email&#8217;s mechanics but without interactivity, ensuring that users still have a consistent and visually appealing experience. While the <a href=\"https:\/\/email.uplers.com\/interactive-email-design-elements\/\">interactive elements<\/a> (like buttons and animations) won\u2019t function in these clients, users can still engage with the content by clicking on the elements, which will redirect them to the web version of the email.&nbsp;<\/p>\n\n\n\n<p>This ensures that the functionality and full experience of the email are preserved across all platforms, even when advanced features are not supported.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\" snippet-height=\"\" style=\"background-color:#abb8c3\"><div class=\"control-language\"><div class=\"dm-buttons\"><div class=\"dm-buttons-left\"><div class=\"dm-button-snippet red-button\"><\/div><div class=\"dm-button-snippet orange-button\"><\/div><div class=\"dm-button-snippet green-button\"><\/div><\/div><div class=\"dm-buttons-right\"><a id=\"dm-copy-raw-code\"><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\" style=\"display:none\">Copied<\/span><span class=\"dm-error-message\" style=\"display:none\">Use a different Browser<\/span><\/a><\/div><\/div><pre class=\" no-line-numbers\"><code id=\"dm-code-raw\" class=\" no-wrap language-php\">\/* Fallback code Start *\/\n\t\t.em_fallback {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t.em_herosec {\n\t\t\tdisplay: block !important;\n\t\t}\n\n\t\t#MessageViewBody .em_fallback,\n\t\tbody.MsgBody .em_fallback {\n\t\t\tdisplay: block !important;\n\t\t}\n\n\t\t.&amp; .yahoo-hide {\n\t\t\tdisplay: none !important;\n\t\t}\n\n\t\t.&amp; .yahoo-show {\n\t\t\tdisplay: block !important;\n\t\t}\n\n\t\t.&amp; .em_fallback {\n\t\t\tdisplay: block !important;\n\t\t}\n\n\t\t[class=\"x_em_fallback\"] {\n\t\t\tdisplay: block !important;\n\t\t}\n\n\t\t[id=\"x_hide-outlook\"] {\n\t\t\tdisplay: none !important;\n\t\t}\n\n\t\t[id=\"x_hide-gmail\"] {\n\t\t\tdisplay: none !important;\n\t\t}\n\n\t\t[id=\"x_hide-yahoo\"] {\n\t\t\tdisplay: none !important;\n\t\t}\n\n\t\t[id=\"x_show-outlook\"] {\n\t\t\tdisplay: block !important;\n\t\t}\n\n\t\tu+.em_body .gmail-hide {\n\t\t\tdisplay: none !important;\n\t\t}\n\n\t\tu+.em_body .gmail-show {\n\t\t\tdisplay: block !important;\n<\/code><\/pre><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Wrapping\"><strong>Wrapping Up!<\/strong><\/h2>\n\n\n\n<p><a href=\"https:\/\/email.uplers.com\/interactive-email-templates\/\">Interactive emails<\/a> revolutionize the way brands engage with their audiences.&nbsp;<\/p>\n\n\n\n<p>Unlike static emails, interactive emails allow users to interact directly within the email by clicking buttons, playing games, filling out forms, or navigating carousels. These dynamic elements not only make the email experience more enjoyable but also significantly boost engagement, click-through rates, and conversions.<\/p>\n\n\n\n<p>Curious to check out more such games? Play our latest:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/bit.ly\/4dHF4qo\" target=\"_blank\" rel=\"noreferrer noopener\">Halloween game<\/a><\/li><li><a href=\"https:\/\/emailmarketing.uplers.com\/will-you-help-santa-give-the-final-touch-to-christmas-wonderland?hs_preview=ynYOnStD-183083389039\" target=\"_blank\" rel=\"noreferrer noopener\">Christmas game<\/a><\/li><\/ul>\n\n\n\n<p><br \/><br \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Get a never-before-seen inside look into how our expert email developers built a  Thanksgiving game for our subscribers this holiday season.<\/p>\n","protected":false},"author":94,"featured_media":41765,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[382,381],"tags":[],"class_list":["post-41749","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-email-coding","category-email-design"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Developer&#039;s Guide: Build a Thanksgiving Game for Subscribers this Season<\/title>\n<meta name=\"description\" content=\"Discover how our expert developers designed an interactive Thanksgiving email game. Learn key CSS techniques and creative strategies for engaging holiday campaigns.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Developer&#039;s Guide: Build a Thanksgiving Game for Subscribers this Season\" \/>\n<meta property=\"og:description\" content=\"Discover how our expert developers designed an interactive Thanksgiving email game. Learn key CSS techniques and creative strategies for engaging holiday campaigns.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/\" \/>\n<meta property=\"og:site_name\" content=\"Email Uplers\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/email.uplers\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-29T10:35:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-02T06:25:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/The-Developers-Guide-to-Email-Gamification-540x282.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"540\" \/>\n\t<meta property=\"og:image:height\" content=\"282\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Riketa Butani\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@email_uplers\" \/>\n<meta name=\"twitter:site\" content=\"@email_uplers\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Riketa Butani\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/\",\"url\":\"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/\",\"name\":\"Developer's Guide: Build a Thanksgiving Game for Subscribers this Season\",\"isPartOf\":{\"@id\":\"https:\/\/email.uplers.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/The-Developers-Guide-to-Email-Gamification.jpg\",\"author\":{\"@id\":\"https:\/\/email.uplers.com\/blog\/#\/schema\/person\/f97b83b9ecc96b7de18ba9b6bd41451e\"},\"description\":\"Discover how our expert developers designed an interactive Thanksgiving email game. Learn key CSS techniques and creative strategies for engaging holiday campaigns.\",\"breadcrumb\":{\"@id\":\"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/#primaryimage\",\"url\":\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/The-Developers-Guide-to-Email-Gamification.jpg\",\"contentUrl\":\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/The-Developers-Guide-to-Email-Gamification.jpg\",\"width\":1170,\"height\":470,\"caption\":\"Guide to Email Gamification\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/email.uplers.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Developer\u2019s Code-by-Code Guide to Email Gamification\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/email.uplers.com\/blog\/#website\",\"url\":\"https:\/\/email.uplers.com\/blog\/\",\"name\":\"Email Uplers\",\"description\":\"Email Marketing Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/email.uplers.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/email.uplers.com\/blog\/#\/schema\/person\/f97b83b9ecc96b7de18ba9b6bd41451e\",\"name\":\"Riketa Butani\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/email.uplers.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/08\/image-12-96x96.png\",\"contentUrl\":\"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/08\/image-12-96x96.png\",\"caption\":\"Riketa Butani\"},\"description\":\"Riketa is a seasoned Email Developer with over 9 years of experience in the industry. She possesses a keen eye for detail and a deep understanding of coding best practices, particularly in email development. Her expertise includes HTML, CSS, and a variety of Email Service Providers (ESPs), ensuring that every email not only looks great but also functions seamlessly across all devices and platforms.\",\"sameAs\":[\"https:\/\/www.mavlers.com\/\",\"https:\/\/www.linkedin.com\/in\/riketa-butani-410367321\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Developer's Guide: Build a Thanksgiving Game for Subscribers this Season","description":"Discover how our expert developers designed an interactive Thanksgiving email game. Learn key CSS techniques and creative strategies for engaging holiday campaigns.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/","og_locale":"en_US","og_type":"article","og_title":"Developer's Guide: Build a Thanksgiving Game for Subscribers this Season","og_description":"Discover how our expert developers designed an interactive Thanksgiving email game. Learn key CSS techniques and creative strategies for engaging holiday campaigns.","og_url":"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/","og_site_name":"Email Uplers","article_publisher":"https:\/\/www.facebook.com\/email.uplers\/","article_published_time":"2024-11-29T10:35:29+00:00","article_modified_time":"2024-12-02T06:25:51+00:00","og_image":[{"width":540,"height":282,"url":"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/The-Developers-Guide-to-Email-Gamification-540x282.jpg","type":"image\/jpeg"}],"author":"Riketa Butani","twitter_card":"summary_large_image","twitter_creator":"@email_uplers","twitter_site":"@email_uplers","twitter_misc":{"Written by":"Riketa Butani","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/","url":"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/","name":"Developer's Guide: Build a Thanksgiving Game for Subscribers this Season","isPartOf":{"@id":"https:\/\/email.uplers.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/#primaryimage"},"image":{"@id":"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/#primaryimage"},"thumbnailUrl":"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/The-Developers-Guide-to-Email-Gamification.jpg","author":{"@id":"https:\/\/email.uplers.com\/blog\/#\/schema\/person\/f97b83b9ecc96b7de18ba9b6bd41451e"},"description":"Discover how our expert developers designed an interactive Thanksgiving email game. Learn key CSS techniques and creative strategies for engaging holiday campaigns.","breadcrumb":{"@id":"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/#primaryimage","url":"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/The-Developers-Guide-to-Email-Gamification.jpg","contentUrl":"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/11\/The-Developers-Guide-to-Email-Gamification.jpg","width":1170,"height":470,"caption":"Guide to Email Gamification"},{"@type":"BreadcrumbList","@id":"https:\/\/email.uplers.com\/blog\/the-developers-guide-to-email-gamification\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/email.uplers.com\/blog\/"},{"@type":"ListItem","position":2,"name":"The Developer\u2019s Code-by-Code Guide to Email Gamification"}]},{"@type":"WebSite","@id":"https:\/\/email.uplers.com\/blog\/#website","url":"https:\/\/email.uplers.com\/blog\/","name":"Email Uplers","description":"Email Marketing Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/email.uplers.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/email.uplers.com\/blog\/#\/schema\/person\/f97b83b9ecc96b7de18ba9b6bd41451e","name":"Riketa Butani","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/email.uplers.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/08\/image-12-96x96.png","contentUrl":"https:\/\/email.uplers.com\/blog\/wp-content\/uploads\/2024\/08\/image-12-96x96.png","caption":"Riketa Butani"},"description":"Riketa is a seasoned Email Developer with over 9 years of experience in the industry. She possesses a keen eye for detail and a deep understanding of coding best practices, particularly in email development. Her expertise includes HTML, CSS, and a variety of Email Service Providers (ESPs), ensuring that every email not only looks great but also functions seamlessly across all devices and platforms.","sameAs":["https:\/\/www.mavlers.com\/","https:\/\/www.linkedin.com\/in\/riketa-butani-410367321\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/email.uplers.com\/blog\/wp-json\/wp\/v2\/posts\/41749","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/email.uplers.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/email.uplers.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/email.uplers.com\/blog\/wp-json\/wp\/v2\/users\/94"}],"replies":[{"embeddable":true,"href":"https:\/\/email.uplers.com\/blog\/wp-json\/wp\/v2\/comments?post=41749"}],"version-history":[{"count":24,"href":"https:\/\/email.uplers.com\/blog\/wp-json\/wp\/v2\/posts\/41749\/revisions"}],"predecessor-version":[{"id":41795,"href":"https:\/\/email.uplers.com\/blog\/wp-json\/wp\/v2\/posts\/41749\/revisions\/41795"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/email.uplers.com\/blog\/wp-json\/wp\/v2\/media\/41765"}],"wp:attachment":[{"href":"https:\/\/email.uplers.com\/blog\/wp-json\/wp\/v2\/media?parent=41749"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/email.uplers.com\/blog\/wp-json\/wp\/v2\/categories?post=41749"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/email.uplers.com\/blog\/wp-json\/wp\/v2\/tags?post=41749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}