{"id":37740,"date":"2025-06-09T07:00:00","date_gmt":"2025-06-09T14:00:00","guid":{"rendered":"https:\/\/cloudinary.com\/blog\/?p=37740"},"modified":"2025-06-09T08:27:35","modified_gmt":"2025-06-09T15:27:35","slug":"workflow-animated-overlays-video-ads","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads","title":{"rendered":"Building a Workflow for Testing Animated Overlays on Video Ads"},"content":{"rendered":"\n<p>Video ads need to grab attention fast, as viewers often decide within seconds whether to keep watching or scroll past. A plain video sometimes isn\u2019t enough, so some advertisers will add animated overlays such as CTAs, logos, and visual effects.<\/p>\n\n\n\n<p>The problem is that manually adding these overlays with video editing software is slow and inefficient. Every small tweak means going back, making changes, re-exporting, and re-uploading. This becomes even more challenging when managing multiple ads across different platforms.<\/p>\n\n\n\n<p>To make this process easier, you can use <a target=\"_blank\" href=\"https:\/\/cloudinary.com\/documentation\/transformation_reference\" rel=\"noreferrer noopener\">transformation parameters<\/a> to apply overlays like different CTAs and promo messages dynamically with simple URL changes, eliminating the need to edit (and re-edit) the base video.&nbsp;<\/p>\n\n\n\n<p>This guide walks you through how to create and test overlays using <a href=\"https:\/\/console.cloudinary.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Cloudinary Studio<\/a>, deploy variations with <a href=\"https:\/\/cloudinary.com\/blog\/how_to_dynamically_create_seo_friendly_urls_for_your_site_s_images\" target=\"_blank\" rel=\"noreferrer noopener\">dynamic URLs<\/a>, and track performance to optimize your ads.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Create and Test Overlays in Cloudinary<\/h2>\n\n\n\n<p>You can enhance images, videos, and other media using transformation parameters.&nbsp;<\/p>\n\n\n\n<p>But what are these parameters, and how do they work? They\u2019re simple modifications you can add to an image or video URL to apply changes dynamically. Instead of editing files manually, you can adjust overlays, resize elements, or apply effects just by tweaking a URL.<\/p>\n\n\n\n<p>They follow this syntax:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript shcb-wrap-lines\">https:<span class=\"hljs-comment\">\/\/res.cloudinary.com\/YOUR_CLOUD_NAME\/video\/upload\/transformation_params\/your-video.mp4<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>While you can go through the <a target=\"_blank\" href=\"https:\/\/cloudinary.com\/documentation\/transformation_reference\" rel=\"noreferrer noopener\">documentation<\/a> to learn all the possibilities (which is definitely useful), you can also use the <strong>Transformation Center<\/strong>, a visual tool where you can apply transformations without writing any code. Just fill out a few fields, and Cloudinary takes care of the rest.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Set Up a Transformation in Cloudinary<\/h2>\n\n\n\n<p>If you haven\u2019t already, <a href=\"https:\/\/cloudinary.com\/users\/register\/free\">sign up for a free Cloudinary account<\/a> or log in. Then, navigate to the <strong>Transformation Center<\/strong> in your dashboard and click <strong>New Transformation<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/v1749233290\/blog-Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads-1.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Cloudinary\u2019s Transformation Center<\/figcaption><\/figure>\n\n\n\n<p>Switch from the <strong>Image<\/strong> tab to the <strong>Video<\/strong> transformation screen by clicking the video icon:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/v1749233290\/blog-Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads-2.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Switch to the video transformation screen in Cloudinary<\/figcaption><\/figure>\n\n\n\n<p>Here, you can add text layers, image overlays, or other effects. Cloudinary provides a default sample video on this page, allowing you to preview transformations before applying them to your own videos.<\/p>\n\n\n\n<p>Let\u2019s add a &#8220;New Arrivals\u201d text overlay to a video. This preview screen shows how the transformation will look before applying it to multiple videos.<\/p>\n\n\n\n<p>Click the <strong>Text Layer<\/strong> action and fill in the form:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Text:<\/strong> \u201cNew Arrivals\u201d<\/li>\n\n\n\n<li><strong>Font Family:<\/strong> Roboto<\/li>\n\n\n\n<li><strong>Font Size:<\/strong> 350<\/li>\n\n\n\n<li><strong>Text Color:<\/strong> Black<\/li>\n\n\n\n<li><strong>Focus On:<\/strong> Direction (Select South for bottom placement)<\/li>\n\n\n\n<li><strong>Y Offset:<\/strong> Adjust to move the text slightly above the bottom edge (e.g., 0.15)<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/v1749233289\/blog-Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads-3.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Add text overlay in Cloudinary<\/figcaption><\/figure>\n\n\n\n<p>Click <strong>Apply<\/strong> to see the transformation on the sample video. You can make further adjustments, such as adding a logo overlay or fade-in and fade-out effects.<\/p>\n\n\n\n<p>Once everything looks good, click <strong>Save As<\/strong> at the top right, name the transformation, and save it for future use.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/v1749233289\/blog-Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads-4.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Save the transformation in Cloudinary<\/figcaption><\/figure>\n\n\n\n<p>Now, upload your ad videos to Cloudinary. Go to the <strong>Media Library<\/strong> and click <strong>Upload<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/v1749233298\/blog-Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads-5.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Upload videos in Cloudinary<\/figcaption><\/figure>\n\n\n\n<p>Once uploaded, go to the <strong>Assets<\/strong> tab. Hover over a video, click the <strong>three-dot menu<\/strong>, and select <strong>Advanced Editing<\/strong> to open Cloudinary Video Studio.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/v1749233298\/blog-Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads-6.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Open Advanced Editing in Cloudinary<\/figcaption><\/figure>\n\n\n\n<p>Inside the Cloudinary Video Studio, click <strong>More Options<\/strong>, then open the <strong>Base Transformation<\/strong> dropdown. You\u2019ll see the transformation you just created. Select it and click <strong>Refresh Preview<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/v1749233298\/blog-Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads-7.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Apply the saved transformation<\/figcaption><\/figure>\n\n\n\n<p>After refreshing, the video will now display the overlay transformation:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/v1749233298\/blog-Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads-8.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Preview the transformation in Cloudinary<\/figcaption><\/figure>\n\n\n\n<p>You can now apply this transformation across your ad variations, test how it fits different screen sizes, and make further adjustments as needed.<\/p>\n\n\n\n<p>Additionally, you\u2019ll see a URL and <a target=\"_blank\" href=\"https:\/\/cloudinary.com\/documentation\/cloudinary_sdks\" rel=\"noreferrer noopener\">SDK<\/a> code that you can use to seamlessly integrate this transformation into your development workflow:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/v1749233299\/blog-Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads-9.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Get the transformation URL and code<\/figcaption><\/figure>\n\n\n\n<p>Since overlays stay separate from the original video, you can test different versions without re-editing.<\/p>\n\n\n\n<p>Now that you\u2019ve set up and applied overlays, let\u2019s move on to deploying different versions dynamically for A\/B testing and performance optimization.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Deploy Variations With Dynamic URLs<\/h2>\n\n\n\n<p>A <a target=\"_blank\" href=\"https:\/\/cloudinary.com\/documentation\/responsive_html\" rel=\"noreferrer noopener\">dynamic URL<\/a> in Cloudinary refers to a URL that allows you to transform an image or video on the fly by adding parameters directly into the URL.&nbsp;<\/p>\n\n\n\n<p>In the previous section, you saw how to use Studio to apply transformations through the UI. You can achieve the same results, and even more, by manually tweaking the URL or doing it programmatically.<\/p>\n\n\n\n<p>Every Cloudinary video has a base URL, but instead of serving a static file, you can add parameters to control how overlays appear. These parameters adjust text, images, animations, and positioning, all without touching the original video.<\/p>\n\n\n\n<p>For example, take this URL from our previous section, where we added a text overlay:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript shcb-wrap-lines\">https:<span class=\"hljs-comment\">\/\/res.cloudinary.com\/YOUR_CLOUD_NAME\/video\/upload\/co_rgb:000000,l_text:roboto_350_normal_left:New%20Arrivals,fl_layer_apply,g_south,y_0.15\/samples\/cld-sample-video<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>This generates a video with the text &#8220;New Arrivals&#8221; displayed at the bottom. But what if we need to test different CTA texts, logos, or even animations? Instead of editing the video manually, we just tweak the URL.<\/p>\n\n\n\n<p>Let\u2019s say we want to improve the overlay by making the text fade in and out instead of just appearing statically. We modify the URL like this:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript shcb-wrap-lines\">https:<span class=\"hljs-comment\">\/\/res.cloudinary.com\/YOUR_CLOUD_NAME\/video\/upload\/co_rgb:000000,l_text:roboto_250_bold_normal_left:New%20Arrivals,du_7.5,e_fade:1000,e_fade:-1000,fl_layer_apply,g_south,y_0.15\/samples\/cld-sample-video.mp4<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>What\u2019s happening here?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>du_7.5<\/code>.<\/strong> The text will be visible for 7.5 seconds before disappearing.<\/li>\n\n\n\n<li><strong><code>e_fade:1000<\/code>.<\/strong> The text fades in over 1 second instead of appearing instantly.<\/li>\n\n\n\n<li><strong><code>e_fade:-1000<\/code>.<\/strong> The text fades out over 1 second before disappearing.<\/li>\n<\/ul>\n\n\n\n<p>Now, the overlay doesn\u2019t just sit there. It animates smoothly, creating a more engaging ad. And this was done just by modifying the URL.<\/p>\n\n\n<video\n      controls\n      muted\n      preload=\"none\"\n      class=\"c-transformed-asset c-transformed-asset--video\"\n      poster=\"https:\/\/res.cloudinary.com\/tobest-foundation\/video\/upload\/co_rgb:000000,l_text:roboto_250_bold_normal_left:New%20Arrivals,du_7.5,e_fade:1000,e_fade:-1000,fl_layer_apply,g_south,y_0.15\/gx0o1d7e6gszt5dqezm0.jpg\"\n      \n    >\n      <source src=\"https:\/\/res.cloudinary.com\/tobest-foundation\/video\/upload\/co_rgb:000000,l_text:roboto_250_bold_normal_left:New Arrivals,du_7.5,e_fade:1000,e_fade:-1000,fl_layer_apply,g_south,y_0.15\/vc_h265\/gx0o1d7e6gszt5dqezm0.mp4\" type=\"video\/mp4; codecs=hevc\">\n<source src=\"https:\/\/res.cloudinary.com\/tobest-foundation\/video\/upload\/co_rgb:000000,l_text:roboto_250_bold_normal_left:New Arrivals,du_7.5,e_fade:1000,e_fade:-1000,fl_layer_apply,g_south,y_0.15\/vc_vp9\/gx0o1d7e6gszt5dqezm0.webm\" type=\"video\/webm; codecs=vp9\">\n<source src=\"https:\/\/res.cloudinary.com\/tobest-foundation\/video\/upload\/co_rgb:000000,l_text:roboto_250_bold_normal_left:New Arrivals,du_7.5,e_fade:1000,e_fade:-1000,fl_layer_apply,g_south,y_0.15\/vc_auto\/gx0o1d7e6gszt5dqezm0.mp4\" type=\"video\/mp4\">\n<source src=\"https:\/\/res.cloudinary.com\/tobest-foundation\/video\/upload\/co_rgb:000000,l_text:roboto_250_bold_normal_left:New Arrivals,du_7.5,e_fade:1000,e_fade:-1000,fl_layer_apply,g_south,y_0.15\/vc_auto\/gx0o1d7e6gszt5dqezm0.webm\" type=\"video\/webm\">\n    <\/video>\n\n\n<p>With dynamic URLs, you avoid the hassle of re-editing and re-uploading videos just to test different overlays. Instead, you adjust elements like text, logos, and effects in real-time, instantly deploying variations and optimizing ads without extra storage or processing. This keeps campaigns flexible and efficient.&nbsp;<\/p>\n\n\n\n<p>Now, let\u2019s learn how to track overlay performance to refine your ads even further.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Measure Overlay Performance<\/h2>\n\n\n\n<p>Once you\u2019ve deployed different overlay variations using dynamic URLs, the next step is understanding which versions perform best.&nbsp;<\/p>\n\n\n\n<p>Cloudinary\u2018s <a target=\"_blank\" href=\"https:\/\/cloudinary.com\/documentation\/assets_onboarding_dashboard_reports_tutorial\" rel=\"noreferrer noopener\">Delivery Reports<\/a> is a built-in analytics tool that helps track how different transformations impact performance. Instead of guessing which overlay works better, you can rely on data to optimize your ads.<\/p>\n\n\n\n<p>To access these insights, go to <strong>Delivery Reports<\/strong> under the <strong>Programmable Media<\/strong> section in your Cloudinary dashboard.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/v1749233299\/blog-Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads-10.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">View performance insights in Cloudinary\u2019s Delivery Reports<\/figcaption><\/figure>\n\n\n\n<p>Here, you\u2019ll find stats on load times, bandwidth usage, and the number of requests for each URL variation. This helps you see which overlays are being viewed the most and how they affect overall video performance.<\/p>\n\n\n\n<p>Scroll down to the <strong>Top Transformations<\/strong> section, where you can analyze the most frequently used transformations.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/v1749233301\/blog-Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads-11.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Analyze the most frequently used transformations in Cloudinary\u2019s analytics<\/figcaption><\/figure>\n\n\n\n<p>This section breaks down details like which overlay styles get the most engagement and how different aspect ratios impact delivery speed. To focus only on video data, simply click the <strong>Video<\/strong> filter at the top.<\/p>\n\n\n\n<p>But Cloudinary isn\u2019t the only tool you can use. If your ads run on platforms like YouTube, Instagram, or TikTok, their built-in analytics provide deeper insights into views, engagement rates, watch time, and audience demographics.&nbsp;<\/p>\n\n\n\n<p>Combining Cloudinary\u2019s transformation data with these platform-specific metrics gives you a complete picture of what\u2019s working, allowing you to focus on high-performing overlays and refine underperforming ones.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wrapping Up<\/h2>\n\n\n\n<p>Optimizing video ads with dynamic overlays improves not only aesthetics but also efficiency and performance. Instead of manually editing and re-uploading multiple video versions, you can streamline everything with Cloudinary\u2019s dynamic URLs and Transformation Studio. This approach makes it easy to test, adjust, and personalize overlays in real time from one original video.<\/p>\n\n\n\n<p><a target=\"_blank\" href=\"https:\/\/cloudinary.com\/users\/register_free\" rel=\"noreferrer noopener\">Sign up for Cloudinary<\/a> and start experimenting with dynamic overlays today.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Resources<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/cloudinary.com\/documentation\/dam_editing_and_transformations\" target=\"_blank\" rel=\"noreferrer noopener\">Studio for Overlays<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cloudinary.com\/documentation\/transformation_reference\" target=\"_blank\" rel=\"noreferrer noopener\">Transformation APIs<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Video ads need to grab attention fast, as viewers often decide within seconds whether to keep watching or scroll past. A plain video sometimes isn\u2019t enough, so some advertisers will add animated overlays such as CTAs, logos, and visual effects. The problem is that manually adding these overlays with video editing software is slow and [&hellip;]<\/p>\n","protected":false},"author":87,"featured_media":37757,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[303,310,304],"class_list":["post-37740","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-video","tag-video-player","tag-video-transformation"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Building a Workflow for Testing Animated Overlays on Video Ads<\/title>\n<meta name=\"description\" content=\"Need faster overlay testing for video ads? Discover how dynamic URLs let you tweak CTAs, logos, and animations without editing the base video.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Building a Workflow for Testing Animated Overlays on Video Ads\" \/>\n<meta property=\"og:description\" content=\"Need faster overlay testing for video ads? Discover how dynamic URLs let you tweak CTAs, logos, and animations without editing the base video.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-06-09T14:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-09T15:27:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749482856\/Web_Assets\/blog\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce.jpg?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1100\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"melindapham\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads\"},\"author\":{\"name\":\"melindapham\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/0d5ad601e4c3b5be89245dfb14be42d9\"},\"headline\":\"Building a Workflow for Testing Animated Overlays on Video Ads\",\"datePublished\":\"2025-06-09T14:00:00+00:00\",\"dateModified\":\"2025-06-09T15:27:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads\"},\"wordCount\":1292,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749482856\/Web_Assets\/blog\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce.jpg?_i=AA\",\"keywords\":[\"Video\",\"Video Player\",\"Video Transformation\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads\",\"url\":\"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads\",\"name\":\"Building a Workflow for Testing Animated Overlays on Video Ads\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749482856\/Web_Assets\/blog\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce.jpg?_i=AA\",\"datePublished\":\"2025-06-09T14:00:00+00:00\",\"dateModified\":\"2025-06-09T15:27:35+00:00\",\"description\":\"Need faster overlay testing for video ads? Discover how dynamic URLs let you tweak CTAs, logos, and animations without editing the base video.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749482856\/Web_Assets\/blog\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce.jpg?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749482856\/Web_Assets\/blog\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce.jpg?_i=AA\",\"width\":2000,\"height\":1100},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Building a Workflow for Testing Animated Overlays on Video Ads\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"name\":\"Cloudinary Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudinary.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\",\"name\":\"Cloudinary Blog\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"width\":312,\"height\":60,\"caption\":\"Cloudinary Blog\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/0d5ad601e4c3b5be89245dfb14be42d9\",\"name\":\"melindapham\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e6f989fa97fe94be61596259d8629c3df65aec4c7da5c0000f90d810f313d4f4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e6f989fa97fe94be61596259d8629c3df65aec4c7da5c0000f90d810f313d4f4?s=96&d=mm&r=g\",\"caption\":\"melindapham\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Building a Workflow for Testing Animated Overlays on Video Ads","description":"Need faster overlay testing for video ads? Discover how dynamic URLs let you tweak CTAs, logos, and animations without editing the base video.","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:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads","og_locale":"en_US","og_type":"article","og_title":"Building a Workflow for Testing Animated Overlays on Video Ads","og_description":"Need faster overlay testing for video ads? Discover how dynamic URLs let you tweak CTAs, logos, and animations without editing the base video.","og_url":"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads","og_site_name":"Cloudinary Blog","article_published_time":"2025-06-09T14:00:00+00:00","article_modified_time":"2025-06-09T15:27:35+00:00","og_image":[{"width":2000,"height":1100,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749482856\/Web_Assets\/blog\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce.jpg?_i=AA","type":"image\/jpeg"}],"author":"melindapham","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads"},"author":{"name":"melindapham","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/0d5ad601e4c3b5be89245dfb14be42d9"},"headline":"Building a Workflow for Testing Animated Overlays on Video Ads","datePublished":"2025-06-09T14:00:00+00:00","dateModified":"2025-06-09T15:27:35+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads"},"wordCount":1292,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749482856\/Web_Assets\/blog\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce.jpg?_i=AA","keywords":["Video","Video Player","Video Transformation"],"inLanguage":"en-US","copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads","url":"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads","name":"Building a Workflow for Testing Animated Overlays on Video Ads","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749482856\/Web_Assets\/blog\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce.jpg?_i=AA","datePublished":"2025-06-09T14:00:00+00:00","dateModified":"2025-06-09T15:27:35+00:00","description":"Need faster overlay testing for video ads? Discover how dynamic URLs let you tweak CTAs, logos, and animations without editing the base video.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749482856\/Web_Assets\/blog\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce.jpg?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749482856\/Web_Assets\/blog\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce.jpg?_i=AA","width":2000,"height":1100},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/workflow-animated-overlays-video-ads#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Building a Workflow for Testing Animated Overlays on Video Ads"}]},{"@type":"WebSite","@id":"https:\/\/cloudinary.com\/blog\/#website","url":"https:\/\/cloudinary.com\/blog\/","name":"Cloudinary Blog","description":"","publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudinary.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudinary.com\/blog\/#organization","name":"Cloudinary Blog","url":"https:\/\/cloudinary.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","width":312,"height":60,"caption":"Cloudinary Blog"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/0d5ad601e4c3b5be89245dfb14be42d9","name":"melindapham","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e6f989fa97fe94be61596259d8629c3df65aec4c7da5c0000f90d810f313d4f4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e6f989fa97fe94be61596259d8629c3df65aec4c7da5c0000f90d810f313d4f4?s=96&d=mm&r=g","caption":"melindapham"}}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1749482856\/Web_Assets\/blog\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce\/Blog_Building_a_Workflow_for_Testing_Animated_Overlays_on_Video_Ads_bd52ec_37757d254c_37757245ce.jpg?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/37740","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/users\/87"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=37740"}],"version-history":[{"count":2,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/37740\/revisions"}],"predecessor-version":[{"id":37747,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/37740\/revisions\/37747"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/37757"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=37740"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=37740"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=37740"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}