{"id":345,"date":"2025-03-31T20:48:56","date_gmt":"2025-04-01T03:48:56","guid":{"rendered":"https:\/\/sarahpallett.com\/?p=345"},"modified":"2025-04-01T09:47:57","modified_gmt":"2025-04-01T16:47:57","slug":"save-time-with-custom-themes-guest-blog-post-by-caroline-swiger","status":"publish","type":"post","link":"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/","title":{"rendered":"Save Time with Custom Themes! Guest Blog Post by Caroline Swiger"},"content":{"rendered":"\n<p>Hey #DataFam! Let\u2019s give a warm welcome to our guest blogger this month, <a href=\"https:\/\/www.linkedin.com\/in\/caroline-swiger-phd-a6433252\/\">Caroline Swiger<\/a>! We\u2019re excited to feature her fantastic write-up on Custom Themes\u2014a must read! Dive in and enjoy Caroline\u2019s insights!<\/p>\n\n\n\n<p><strong>Save Time with Custom Themes!<\/strong><\/p>\n\n\n\n<p>Are you constantly looking for ways to save time?&nbsp; I think the answer for most of us is a resounding yes \u2013 in life, work, &amp; vizzing!&nbsp; I have been (not-so) patiently waiting for Custom Themes since #TC24, and with Tableau 2025.1, it is finally here!&nbsp; Read on to hear about my first experience with this new feature!<\/p>\n\n\n\n<p><strong>What are themes?<\/strong><\/p>\n\n\n\n<p>Themes refers to all stylistic and formatting choices made within a workbook. \u201cThemes\u201d have existed in Tableau for some time, but they never really did what people wanted, and have been largely ignored.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"277\" height=\"388\" src=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-1.png\" alt=\"\" class=\"wp-image-349\" srcset=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-1.png 277w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-1-214x300.png 214w\" sizes=\"auto, (max-width: 277px) 100vw, 277px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Most of my workbooks, particularly at work, begin with time spent formatting the workbook.&nbsp; I change the default font &amp; sizes, turn off grid lines, &amp; turn on a thicker zero line.&nbsp; It is a small investment that saves me time, but one that I repeat for every dashboard.&nbsp; The formatting options at the workbook level are also limited; I always find myself spending considerable time formatting throughout the viz process, from tooltips to charts to the dashboard itself.<\/p>\n\n\n\n<p><strong>What are Custom Themes?<\/strong><\/p>\n\n\n\n<p>The Tableau Desktop &amp; Web Authoring guide describes custom themes as the ability to quickly apply formatting choices like fonts and colors to an entire Tableau workbook via a JSON file.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"290\" src=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-6.png\" alt=\"\" class=\"wp-image-355\" srcset=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-6.png 624w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-6-300x139.png 300w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-6-600x279.png 600w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-text-align-left\"><strong>What style elements are supported?<\/strong><\/p>\n\n\n\n<p>There are 20 style elements available in Tableau that are currently supported for custom themes in Tableau 2025.1. They include:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Style Element<\/strong><\/td><td><strong>Description<\/strong><\/td><td><strong>Style Attributes<\/strong><\/td><\/tr><tr><td rowspan=\"2\">all<\/td><td rowspan=\"2\">Formats all fonts across the entire workbook.<\/td><td>Font \u2013 color<\/td><\/tr><tr><td>Font \u2013 family<\/td><\/tr><tr><td rowspan=\"3\">worksheet<\/td><td rowspan=\"3\">Formats the worksheet default font.<\/td><td>Font \u2013 color<\/td><\/tr><tr><td>Font \u2013 family<\/td><\/tr><tr><td>Font \u2013 size<\/td><\/tr><tr><td rowspan=\"3\">worksheet-title<\/td><td rowspan=\"3\">Formats the worksheet title font.<\/td><td>Font \u2013 color<\/td><\/tr><tr><td>Font \u2013 family<\/td><\/tr><tr><td>Font \u2013 size<\/td><\/tr><tr><td rowspan=\"3\">tooltip<\/td><td rowspan=\"3\">Formats the tooltip font.<\/td><td>Font \u2013 color<\/td><\/tr><tr><td>Font \u2013 family<\/td><\/tr><tr><td>Font \u2013 size<\/td><\/tr><tr><td rowspan=\"3\">dashboard-title<\/td><td rowspan=\"3\">Formats the dashboard title.<\/td><td>Font \u2013 color<\/td><\/tr><tr><td>Font \u2013 family<\/td><\/tr><tr><td>Font \u2013 size<\/td><\/tr><tr><td rowspan=\"3\">story-title<\/td><td rowspan=\"3\">Formats the story title font.<\/td><td>Font \u2013 color<\/td><\/tr><tr><td>Font \u2013 family<\/td><\/tr><tr><td>Font \u2013 size<\/td><\/tr><tr><td rowspan=\"2\">header<\/td><td rowspan=\"2\">Formats the header font.<\/td><td>Font \u2013 color<\/td><\/tr><tr><td>Font \u2013 family<\/td><\/tr><tr><td rowspan=\"4\">legend<\/td><td rowspan=\"4\">Formats the legend body font &amp; background color.<\/td><td>Font \u2013 color<\/td><\/tr><tr><td>Font \u2013 family<\/td><\/tr><tr><td>Font \u2013 size<\/td><\/tr><tr><td>Background \u2013 color<\/td><\/tr><tr><td rowspan=\"3\">legend-title<\/td><td rowspan=\"3\">Formats the legend title font on all worksheets.<\/td><td>Font \u2013 color<\/td><\/tr><tr><td>Font \u2013 family<\/td><\/tr><tr><td>Font \u2013 size<\/td><\/tr><tr><td rowspan=\"4\">filter<\/td><td rowspan=\"4\">Formats the filter body font &amp; background color on all worksheets.<\/td><td>Font \u2013 color<\/td><\/tr><tr><td>Font \u2013 family<\/td><\/tr><tr><td>Font \u2013 size<\/td><\/tr><tr><td>Background \u2013 color<\/td><\/tr><tr><td rowspan=\"3\">filter-title<\/td><td rowspan=\"3\">Formats the filter title font on all worksheets.<\/td><td>Font \u2013 color<\/td><\/tr><tr><td>Font \u2013 family<\/td><\/tr><tr><td>Font \u2013 size<\/td><\/tr><tr><td rowspan=\"4\">parameter-ctrl<\/td><td rowspan=\"4\">Formats the parameter body font &amp; background color on all worksheets.<\/td><td>Font \u2013 color<\/td><\/tr><tr><td>Font \u2013 family<\/td><\/tr><tr><td>Font \u2013 size<\/td><\/tr><tr><td>Background \u2013 color<\/td><\/tr><tr><td rowspan=\"3\">parameter-ctrl-title<\/td><td rowspan=\"3\">Formats the parameter control title font on all worksheets.<\/td><td>Font \u2013 color<\/td><\/tr><tr><td>Font \u2013 family<\/td><\/tr><tr><td>Font \u2013 size<\/td><\/tr><tr><td rowspan=\"4\">highlighter<\/td><td rowspan=\"4\">Formats the highlighter body font &amp; background color on all worksheets.<\/td><td>Font \u2013 color<\/td><\/tr><tr><td>Font \u2013 family<\/td><\/tr><tr><td>Font \u2013 size<\/td><\/tr><tr><td>Background \u2013 color<\/td><\/tr><tr><td rowspan=\"3\">highlighter-title<\/td><td rowspan=\"3\">Formats the highlighter control title font on all worksheets.<\/td><td>Font \u2013 color<\/td><\/tr><tr><td>Font \u2013 family<\/td><\/tr><tr><td>Font \u2013 size<\/td><\/tr><tr><td rowspan=\"2\">page-ctrl-title<\/td><td rowspan=\"2\">Formats the page card title font on all worksheets.<\/td><td>Font \u2013 color<\/td><\/tr><tr><td>Font \u2013 family<\/td><\/tr><tr><td rowspan=\"4\">gridline<\/td><td rowspan=\"4\">Formats the gridlines on a view.<\/td><td>Line \u2013 visibility<\/td><\/tr><tr><td>Line \u2013 pattern<\/td><\/tr><tr><td>Line \u2013 width<\/td><\/tr><tr><td>Line \u2013 color<\/td><\/tr><tr><td rowspan=\"4\">zero line<\/td><td rowspan=\"4\">Formats the zero line on a view<\/td><td>Line \u2013 visibility<\/td><\/tr><tr><td>Line \u2013 pattern<\/td><\/tr><tr><td>Line \u2013 width<\/td><\/tr><tr><td>Line \u2013 color<\/td><\/tr><tr><td>mark<\/td><td>Formats the mark color on a view.<\/td><td>Mark \u2013 color<\/td><\/tr><tr><td>view<\/td><td>Formats the background color on a view.<\/td><td>&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Source: <a href=\"https:\/\/help.tableau.com\/current\/pro\/desktop\/en-us\/formatting_custom_themes.htm\">Tableau Desktop &amp; Web Authoring Help<\/a><\/p>\n\n\n\n<p><strong>Action plan!<\/strong><\/p>\n\n\n\n<p>The Tableau documentation online includes example code that could be used to create the JSON custom theme file.&nbsp; My background is not coding-heavy, so I decided to:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Create a simple viz using style elements supported with custom themes,<\/li>\n\n\n\n<li>Export my own custom theme, &amp;<\/li>\n\n\n\n<li>Import it to a new workbook to see how well it worked!<\/li>\n<\/ol>\n\n\n\n<p><strong>Step 1: Format worksheet<\/strong><\/p>\n\n\n\n<p>Here is the simple Superstore worksheet I created:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"329\" src=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-2.png\" alt=\"\" class=\"wp-image-350\" srcset=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-2.png 624w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-2-300x158.png 300w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-2-600x316.png 600w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Style choices made at the workbook-level (those supported by custom themes have a \u2705!):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Workbook font: Poppins \u2705<\/li>\n\n\n\n<li>Grid Lines: Off \u2705<\/li>\n\n\n\n<li>Zero Lines: Solid Line\u2705, 1px\u2705, #1b1b1b\u2705<\/li>\n<\/ul>\n\n\n\n<p>Style choices made in the worksheet:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Worksheet title: 18pt \u2705, #333333\u2705<\/li>\n\n\n\n<li>SUM(Sales) Axis: #1b1b1b, Ticks \u2013 none, Numbers: Currency (Custom)<\/li>\n\n\n\n<li>Category Header: 11pt, #1b1b1b<\/li>\n\n\n\n<li>Color legend: Title &#8211; 11pt\u2705, #1b1b1b\u2705; Body \u2013 11pt\u2705, #1b1b1b\u2705<\/li>\n\n\n\n<li>Filter and Set Control: Title &#8211; 12pt\u2705, #1b1b1b\u2705; Body \u2013 11pt\u2705, #1b1b1b\u2705<\/li>\n\n\n\n<li>Tooltips: 12pt\u2705, #1b1b1b\u2705, Bold variables<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"449\" height=\"346\" src=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-5.png\" alt=\"\" class=\"wp-image-354\" srcset=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-5.png 449w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-5-300x231.png 300w\" sizes=\"auto, (max-width: 449px) 100vw, 449px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Admittedly, this is not an extensive list of formatting choices on my part \u2013 just 23; 27 if you include the tab in the tooltip, deselecting the command buttons &amp; allow selection by category options, &amp; choosing to show tooltips on hover. &nbsp;I anticipated that custom themes would cover 17 of them \u2013 not too shabby if all went well.<\/p>\n\n\n\n<p><strong>Step 2: Export custom theme<\/strong><\/p>\n\n\n\n<p>After formatting my worksheet, I went to Format &gt; Export Custom Theme\u2026 and saved it in My Tableau Repository as \u2018Custom Theme 1.json\u2019 (original \ud83d\ude02).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"402\" height=\"389\" src=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-8.png\" alt=\"\" class=\"wp-image-357\" srcset=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-8.png 402w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-8-300x290.png 300w\" sizes=\"auto, (max-width: 402px) 100vw, 402px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Step 3: Recreate worksheet in new workbook &amp; import custom theme<\/strong><\/p>\n\n\n\n<p>I opened a fresh workbook &amp; recreated the basic view without adjusting any of the default formatting.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"616\" height=\"333\" src=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-7.png\" alt=\"\" class=\"wp-image-356\" srcset=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-7.png 616w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-7-300x162.png 300w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-7-600x324.png 600w\" sizes=\"auto, (max-width: 616px) 100vw, 616px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Then, I went to Format &gt; Import Custom Theme\u2026 and selected \u2018Custom Theme 1.json\u2019 from the list.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"210\" height=\"417\" src=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-10.png\" alt=\"\" class=\"wp-image-359\" srcset=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-10.png 210w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-10-151x300.png 151w\" sizes=\"auto, (max-width: 210px) 100vw, 210px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>When the Apply Custom Theme message popped up, I clicked Override.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"213\" src=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-4.png\" alt=\"\" class=\"wp-image-352\" srcset=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-4.png 624w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-4-300x102.png 300w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-4-600x205.png 600w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Drum roll, please\u2026<\/p>\n\n\n\n<p>And here is the resulting worksheet with my very first custom theme applied!<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"329\" src=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-3.png\" alt=\"\" class=\"wp-image-351\" srcset=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-3.png 624w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-3-300x158.png 300w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-3-600x316.png 600w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>So how did it do?<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Style Element<\/td><td>Success?<\/td><\/tr><tr><td>Workbook font = Poppins<\/td><td>\u2705<\/td><\/tr><tr><td>Grid lines = off<\/td><td>\u2705<\/td><\/tr><tr><td>Zero line = solid<\/td><td>\u2705<\/td><\/tr><tr><td>Zero line = 1pt<\/td><td>\u2705<\/td><\/tr><tr><td>Zero line = #1b1b1b<\/td><td>\u2705<\/td><\/tr><tr><td>Worksheet-title = 18pt<\/td><td>Font size remained default 15pt<\/td><\/tr><tr><td>Worksheet-title = #1b1b1b<\/td><td>\u2705<\/td><\/tr><tr><td>Color legend (title) = 11pt<\/td><td>\u2705<\/td><\/tr><tr><td>Color legend (title) = #1b1b1b<\/td><td>\u2705<\/td><\/tr><tr><td>Color legend (body) = 11pt<\/td><td>\u2705<\/td><\/tr><tr><td>Color legend (body) = #1b1b1b<\/td><td>\u2705<\/td><\/tr><tr><td>Filter &amp; set control (title) = 11pt<\/td><td>\u2705<\/td><\/tr><tr><td>Filter &amp; set control (title) = #1b1b1b<\/td><td>\u2705<\/td><\/tr><tr><td>Filter &amp; set control (body) = 11pt<\/td><td>\u2705<\/td><\/tr><tr><td>Filter &amp; set control (body) = #1b1b1b<\/td><td>\u2705<\/td><\/tr><tr><td>Tooltip font = 12pt<\/td><td>Font size remained default 10pt<\/td><\/tr><tr><td>Tooltip font = #1b1b1b<\/td><td>Partial credit? The headers remained the default gray but the variables were #1b1b1b (maybe this is all it applies to?) <img loading=\"lazy\" decoding=\"async\" width=\"289\" height=\"119\" class=\"wp-image-374\" src=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-14.png\" alt=\"\"> <br>But extra credit for maintaining my tab! I will take it!<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>I looked at the troubleshooting guide because it was probably me &amp; not Tableau \ud83d\ude09.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"186\" src=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-11.png\" alt=\"\" class=\"wp-image-360\" srcset=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-11.png 624w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-11-300x89.png 300w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-11-600x179.png 600w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Aha! The key is to use the formatting pane:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"205\" height=\"770\" src=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-9.png\" alt=\"\" class=\"wp-image-358\" srcset=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-9.png 205w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-9-80x300.png 80w\" sizes=\"auto, (max-width: 205px) 100vw, 205px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>I exported &amp; imported again with success!&nbsp; 17\/17 expected style elements present!<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"529\" src=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-13.png\" alt=\"\" class=\"wp-image-364\" srcset=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-13.png 975w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-13-300x163.png 300w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-13-768x417.png 768w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-13-600x326.png 600w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure><\/div>\n\n\n<p>Hey, look! Now my highly original name for my very first custom theme appears in the list of options!&nbsp; Neat!<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"341\" height=\"463\" src=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-12.png\" alt=\"\" class=\"wp-image-361\" srcset=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-12.png 341w, https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-12-221x300.png 221w\" sizes=\"auto, (max-width: 341px) 100vw, 341px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p><strong>Final thoughts<\/strong><\/p>\n\n\n\n<p>I am excited about the initial release of custom themes and pumped for my organization to upgrade to 2025.1 so I can create my standard template go-to.&nbsp; What may have been 20+ clicks is now just one, and that is awesome.<\/p>\n\n\n\n<p>Custom themes may not be a radical time saver yet, but it has so much potential.&nbsp; Can you imagine if you were able to choose more of your own defaults?&nbsp; Sit down to start a viz and import a theme where all the styling is suited to your preferences, down to the charts?&nbsp; I can hear a choir of angels singing now\u2026<\/p>\n\n\n\n<p><strong>Note from Sarah:<\/strong><\/p>\n\n\n\n<p>Thanks to Caroline this comprehensive guide on Custom Themes! If you&#8217;re interested in connecting with Caroline, you can find her on<a href=\"https:\/\/www.linkedin.com\/in\/caroline-swiger-phd-a6433252\/\"> LinkedIn<\/a> or <a href=\"https:\/\/public.tableau.com\/app\/profile\/caroline.swiger\/vizzes\">Tableau Public<\/a>. I especially love her <a href=\"https:\/\/public.tableau.com\/views\/Unidentified30YearsofUFOSightings\/Unidentified?:language=en-US&amp;:sid=&amp;:redirect=auth&amp;:display_count=n&amp;:origin=viz_share_link\">#VizoftheDay about UFO Sightings<\/a>! <\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Happy Vizzing! <\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hey #DataFam! Let\u2019s give a warm welcome to our guest blogger this month, Caroline Swiger! We\u2019re excited to feature her fantastic write-up on Custom Themes\u2014a must read! Dive in and enjoy Caroline\u2019s insights! Save Time with Custom Themes! Are you constantly looking for ways to save time?&nbsp; I think the answer for most of us&#8230; <a class=\"more-link\" href=\"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/#more-345\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[9],"tags":[],"class_list":["post-345","post","type-post","status-publish","format-standard","hentry","category-data-viz-my-favourite-tips","clear"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Save Time with Custom Themes! Guest Blog Post by Caroline Swiger - Sarah Pallett<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Save Time with Custom Themes! Guest Blog Post by Caroline Swiger - Sarah Pallett\" \/>\n<meta property=\"og:description\" content=\"Hey #DataFam! Let\u2019s give a warm welcome to our guest blogger this month, Caroline Swiger! We\u2019re excited to feature her fantastic write-up on Custom Themes\u2014a must read! Dive in and enjoy Caroline\u2019s insights! Save Time with Custom Themes! Are you constantly looking for ways to save time?&nbsp; I think the answer for most of us... Continue Reading &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/\" \/>\n<meta property=\"og:site_name\" content=\"Sarah Pallett\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-01T03:48:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-01T16:47:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"277\" \/>\n\t<meta property=\"og:image:height\" content=\"388\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Sarah\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sarah\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/\"},\"author\":{\"name\":\"Sarah\",\"@id\":\"https:\/\/sarahpallett.com\/#\/schema\/person\/dce769f945c604f38bb244e91205abe8\"},\"headline\":\"Save Time with Custom Themes! Guest Blog Post by Caroline Swiger\",\"datePublished\":\"2025-04-01T03:48:56+00:00\",\"dateModified\":\"2025-04-01T16:47:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/\"},\"wordCount\":1229,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-1.png\",\"articleSection\":[\"Data Viz - My Favourite Tips\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/\",\"url\":\"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/\",\"name\":\"Save Time with Custom Themes! Guest Blog Post by Caroline Swiger - Sarah Pallett\",\"isPartOf\":{\"@id\":\"https:\/\/sarahpallett.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-1.png\",\"datePublished\":\"2025-04-01T03:48:56+00:00\",\"dateModified\":\"2025-04-01T16:47:57+00:00\",\"author\":{\"@id\":\"https:\/\/sarahpallett.com\/#\/schema\/person\/dce769f945c604f38bb244e91205abe8\"},\"breadcrumb\":{\"@id\":\"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/#primaryimage\",\"url\":\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-1.png\",\"contentUrl\":\"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-1.png\",\"width\":277,\"height\":388},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/sarahpallett.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Save Time with Custom Themes! Guest Blog Post by Caroline Swiger\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/sarahpallett.com\/#website\",\"url\":\"https:\/\/sarahpallett.com\/\",\"name\":\"Sarah Pallett\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/sarahpallett.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/sarahpallett.com\/#\/schema\/person\/dce769f945c604f38bb244e91205abe8\",\"name\":\"Sarah\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sarahpallett.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4ded2c9e00b6c56390986018adbae452?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4ded2c9e00b6c56390986018adbae452?s=96&d=mm&r=g\",\"caption\":\"Sarah\"},\"sameAs\":[\"https:\/\/sarahpallett.com\/wp\"],\"url\":\"https:\/\/sarahpallett.com\/index.php\/author\/admin_sp\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Save Time with Custom Themes! Guest Blog Post by Caroline Swiger - Sarah Pallett","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:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/","og_locale":"en_US","og_type":"article","og_title":"Save Time with Custom Themes! Guest Blog Post by Caroline Swiger - Sarah Pallett","og_description":"Hey #DataFam! Let\u2019s give a warm welcome to our guest blogger this month, Caroline Swiger! We\u2019re excited to feature her fantastic write-up on Custom Themes\u2014a must read! Dive in and enjoy Caroline\u2019s insights! Save Time with Custom Themes! Are you constantly looking for ways to save time?&nbsp; I think the answer for most of us... Continue Reading &rarr;","og_url":"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/","og_site_name":"Sarah Pallett","article_published_time":"2025-04-01T03:48:56+00:00","article_modified_time":"2025-04-01T16:47:57+00:00","og_image":[{"width":277,"height":388,"url":"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-1.png","type":"image\/png"}],"author":"Sarah","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Sarah","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/#article","isPartOf":{"@id":"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/"},"author":{"name":"Sarah","@id":"https:\/\/sarahpallett.com\/#\/schema\/person\/dce769f945c604f38bb244e91205abe8"},"headline":"Save Time with Custom Themes! Guest Blog Post by Caroline Swiger","datePublished":"2025-04-01T03:48:56+00:00","dateModified":"2025-04-01T16:47:57+00:00","mainEntityOfPage":{"@id":"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/"},"wordCount":1229,"commentCount":0,"image":{"@id":"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/#primaryimage"},"thumbnailUrl":"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-1.png","articleSection":["Data Viz - My Favourite Tips"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/","url":"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/","name":"Save Time with Custom Themes! Guest Blog Post by Caroline Swiger - Sarah Pallett","isPartOf":{"@id":"https:\/\/sarahpallett.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/#primaryimage"},"image":{"@id":"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/#primaryimage"},"thumbnailUrl":"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-1.png","datePublished":"2025-04-01T03:48:56+00:00","dateModified":"2025-04-01T16:47:57+00:00","author":{"@id":"https:\/\/sarahpallett.com\/#\/schema\/person\/dce769f945c604f38bb244e91205abe8"},"breadcrumb":{"@id":"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/#primaryimage","url":"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-1.png","contentUrl":"https:\/\/sarahpallett.com\/wp-content\/uploads\/2025\/03\/image-1.png","width":277,"height":388},{"@type":"BreadcrumbList","@id":"https:\/\/sarahpallett.com\/index.php\/2025\/03\/31\/save-time-with-custom-themes-guest-blog-post-by-caroline-swiger\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sarahpallett.com\/"},{"@type":"ListItem","position":2,"name":"Save Time with Custom Themes! Guest Blog Post by Caroline Swiger"}]},{"@type":"WebSite","@id":"https:\/\/sarahpallett.com\/#website","url":"https:\/\/sarahpallett.com\/","name":"Sarah Pallett","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sarahpallett.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/sarahpallett.com\/#\/schema\/person\/dce769f945c604f38bb244e91205abe8","name":"Sarah","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sarahpallett.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4ded2c9e00b6c56390986018adbae452?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4ded2c9e00b6c56390986018adbae452?s=96&d=mm&r=g","caption":"Sarah"},"sameAs":["https:\/\/sarahpallett.com\/wp"],"url":"https:\/\/sarahpallett.com\/index.php\/author\/admin_sp\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/sarahpallett.com\/index.php\/wp-json\/wp\/v2\/posts\/345","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sarahpallett.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sarahpallett.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sarahpallett.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sarahpallett.com\/index.php\/wp-json\/wp\/v2\/comments?post=345"}],"version-history":[{"count":11,"href":"https:\/\/sarahpallett.com\/index.php\/wp-json\/wp\/v2\/posts\/345\/revisions"}],"predecessor-version":[{"id":379,"href":"https:\/\/sarahpallett.com\/index.php\/wp-json\/wp\/v2\/posts\/345\/revisions\/379"}],"wp:attachment":[{"href":"https:\/\/sarahpallett.com\/index.php\/wp-json\/wp\/v2\/media?parent=345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sarahpallett.com\/index.php\/wp-json\/wp\/v2\/categories?post=345"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sarahpallett.com\/index.php\/wp-json\/wp\/v2\/tags?post=345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}