{"id":755,"date":"2022-06-21T13:30:00","date_gmt":"2022-06-21T17:30:00","guid":{"rendered":"https:\/\/www.digitaldatatactics.com\/?p=755"},"modified":"2022-06-21T11:47:57","modified_gmt":"2022-06-21T15:47:57","slug":"tmsbp-naming-and-meta","status":"publish","type":"post","link":"https:\/\/www.digitaldatatactics.com\/index.php\/2022\/06\/21\/tmsbp-naming-and-meta\/","title":{"rendered":"TMS Best Practices: Naming Conventions and Meta Info"},"content":{"rendered":"\n<p>How you name your rules, events\/triggers, tags and actions can have a big impact on the health of your TMS. You want to prevent duplicated conditions and logic as much as possible, to keep things simple, lighter, and less error-prone. You want to make things easier to find and easier to put into context.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Launch Rules, Events, Conditions, Data Elements, and ACTIONS<\/h2>\n\n\n\n<p>Let&#8217;s face it, the internal search functionality in Launch isn&#8217;t great. But there is much you can do to make navigation within Launch easier and cut down on duplicated logic.<\/p>\n\n\n\n<p>For <strong>rule names<\/strong>, I often follow a format with some combination of the following:<\/p>\n\n\n\n<p><em>category[: sub category] | trigger | [type (analytics or marketing)] | what the rule does\/marketing vendor |&nbsp;load order |&nbsp;consent management category<\/em><\/p>\n\n\n\n<p>For example:<\/p>\n\n\n\n<ul><li>add to basket | &#8220;add to basket&#8221; event | analytics | s.tl | #50 | C0008<\/li><li>all pages | page top | configure EDDL | #10<\/li><li>all pages | &#8220;page view&#8221; event | marketing | verizon | #50 | C0004<\/li><li>search: search results | &#8220;page view&#8221; event | analytics | set vars | #50 | C0008<\/li><\/ul>\n\n\n\n<p>Of course, it usually differs for every client depending on their needs. For me, the important thing is for rules with similar events\/conditions to be together (all my search rules start with &#8220;search:&#8221;), to know what triggers it (page bottom? direct call rule?), and to have an idea of what&#8217;s inside. Here&#8217;s a simpler version:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.digitaldatatactics.com\/wp\/wp-content\/uploads\/2022\/06\/image-30.png\"><img loading=\"lazy\" decoding=\"async\" width=\"522\" height=\"804\" src=\"https:\/\/www.digitaldatatactics.com\/wp\/wp-content\/uploads\/2022\/06\/image-30.png\" alt=\"\" class=\"wp-image-792\" srcset=\"https:\/\/www.digitaldatatactics.com\/wp\/wp-content\/uploads\/2022\/06\/image-30.png 522w, https:\/\/www.digitaldatatactics.com\/wp\/wp-content\/uploads\/2022\/06\/image-30-195x300.png 195w\" sizes=\"(max-width: 522px) 100vw, 522px\" \/><\/a><\/figure>\n\n\n\n<p>Having it arranged this way already shows me for this property&#8230;. I have a lot of rules firing on that page view event. I could probably consolidate some of those into a single rule. I also see some inconsistency&#8230; one &#8220;page view&#8221; is lacking quotes, which makes the editor in me twitch a bit, and in that top one I didn&#8217;t specify s.t or s.tl beacon. But you know what? I can navigate this property pretty easily. And if I see an inconsistency, I can fix it as I go along. Some order is better than none.<\/p>\n\n\n\n<p>Sometimes I only include the event order (eg, #50) if it&#8217;s something other than the default of 50. Sometimes we have analytics and marketing in the same rules so the standard has to adapt. <\/p>\n\n\n\n<p>For <strong>events<\/strong>, I only change the name from the default if I had to customize it- page bottom is always just &#8220;Core &#8211; Page Bottom&#8221; (unless I changed the order, in which case I&#8217;d probably name it &#8220;Core &#8211; Page Bottom #1&#8221; or somesuch), but a direct call rule or something based on a CSS selector should always include that info in the name. For instance &#8220;click on .pdf links&#8221;, &#8220;DCR page view #25&#8221; or &#8220;payment modal enters viewport&#8221;. I won&#8217;t even be picky about following a standard&#8230; just keep it informative. If you changed the order (from #50 to, say, #1), then do note that. It makes troubleshooting so much easier.<\/p>\n\n\n\n<p><strong>Conditions<\/strong> should always have custom names. &#8220;Core &#8211; Value Comparison&#8221; is just not helpful&#8230; but &#8220;pageType of &#8216;search results'&#8221; is. Again, I&#8217;m not picky about following a standard&#8230; just make it so I don&#8217;t have to click into the condition to have an idea of what it is.<\/p>\n\n\n\n<p><strong>Action<\/strong> naming&#8230; this is where I get excited. Folks don&#8217;t take advantage of Action names nearly enough. Action names should include the marketing tag name and the scope. Within a rule, it might look redundant with the rule name (how many times do you see &#8220;All pages\/Page Top&#8221; here) :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.digitaldatatactics.com\/wp\/wp-content\/uploads\/2022\/06\/image-31.png\"><img loading=\"lazy\" decoding=\"async\" width=\"442\" height=\"308\" src=\"https:\/\/www.digitaldatatactics.com\/wp\/wp-content\/uploads\/2022\/06\/image-31.png\" alt=\"\" class=\"wp-image-793\" srcset=\"https:\/\/www.digitaldatatactics.com\/wp\/wp-content\/uploads\/2022\/06\/image-31.png 442w, https:\/\/www.digitaldatatactics.com\/wp\/wp-content\/uploads\/2022\/06\/image-31-300x209.png 300w\" sizes=\"(max-width: 442px) 100vw, 442px\" \/><\/a><\/figure>\n\n\n\n<p>But if you search for a tag in the Launch&#8217;s search tool, those action names make a world of difference. Let&#8217;s say I&#8217;m searching for eVar63&#8230; this:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.digitaldatatactics.com\/wp\/wp-content\/uploads\/2022\/06\/image-32.png\"><img loading=\"lazy\" decoding=\"async\" width=\"318\" height=\"246\" src=\"https:\/\/www.digitaldatatactics.com\/wp\/wp-content\/uploads\/2022\/06\/image-32.png\" alt=\"\" class=\"wp-image-794\" srcset=\"https:\/\/www.digitaldatatactics.com\/wp\/wp-content\/uploads\/2022\/06\/image-32.png 318w, https:\/\/www.digitaldatatactics.com\/wp\/wp-content\/uploads\/2022\/06\/image-32-300x232.png 300w\" sizes=\"(max-width: 318px) 100vw, 318px\" \/><\/a><\/figure>\n\n\n\n<p>&#8230;is not helpful (by the way, please go upvote <a rel=\"noreferrer noopener\" href=\"https:\/\/experienceleaguecommunities.adobe.com\/t5\/adobe-experience-platform-launch\/add-the-rule-name-in-the-search-results-drop-down-in-the-tags\/idi-p\/439020#M1093\" data-type=\"URL\" data-id=\"https:\/\/experienceleaguecommunities.adobe.com\/t5\/adobe-experience-platform-launch\/add-the-rule-name-in-the-search-results-drop-down-in-the-tags\/idi-p\/439020#M1093\" target=\"_blank\">this feature request<\/a> for better search functionality). I&#8217;d have to click in to each of those to find out what the context is to know which one I want to make my change to. But if I&#8217;ve added a bit of information to the action name, I can know exactly where it is taking me:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.digitaldatatactics.com\/wp\/wp-content\/uploads\/2022\/06\/image-29.png\"><img loading=\"lazy\" decoding=\"async\" width=\"209\" height=\"285\" src=\"https:\/\/www.digitaldatatactics.com\/wp\/wp-content\/uploads\/2022\/06\/image-29.png\" alt=\"\" class=\"wp-image-791\"\/><\/a><\/figure>\n\n\n\n<p>It&#8217;s a minor inconvenience when setting rules up, but if you have a complex implementation, it can make life so much easier.<\/p>\n\n\n\n<p>For <strong>data elements<\/strong>, I tend to go much simpler. Some sort of categorization, then some sort of detail. If it suits the implementation, I might add more information about the source of the data. For example:<\/p>\n\n\n\n<ul><li>search: term | QP<\/li><li>search: number of results | DL<\/li><li>marketing: cmpid<\/li><li>content id: page name<\/li><\/ul>\n\n\n\n<p>I tend to always keep it lower case, since you have to have to right case when referencing a data element.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Don&#8217;t stop with good names, add even more info!<\/h2>\n\n\n\n<p>As I mentioned in <a href=\"https:\/\/www.digitaldatatactics.com\/index.php\/2022\/06\/21\/martech-governance\/\" data-type=\"URL\" data-id=\"https:\/\/www.digitaldatatactics.com\/index.php\/2022\/06\/21\/martech-governance\/\">my post on governance<\/a>, it can be extremely helpful to include information about the tag within the tag itself, along these lines:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.digitaldatatactics.com\/wp\/wp-content\/uploads\/2022\/06\/image-25.png\"><img loading=\"lazy\" decoding=\"async\" width=\"726\" height=\"148\" src=\"https:\/\/www.digitaldatatactics.com\/wp\/wp-content\/uploads\/2022\/06\/image-25.png\" alt=\"\" class=\"wp-image-785\" srcset=\"https:\/\/www.digitaldatatactics.com\/wp\/wp-content\/uploads\/2022\/06\/image-25.png 726w, https:\/\/www.digitaldatatactics.com\/wp\/wp-content\/uploads\/2022\/06\/image-25-300x61.png 300w\" sizes=\"(max-width: 726px) 100vw, 726px\" \/><\/a><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>How you name your rules, events\/triggers, tags and actions can have a big impact on the health of your TMS. You want to prevent duplicated conditions and logic as much as possible, to keep things simple, lighter, and less error-prone. You want to make things easier to find and easier to put into context. Launch &#8230; <a title=\"TMS Best Practices: Naming Conventions and Meta Info\" class=\"read-more\" href=\"https:\/\/www.digitaldatatactics.com\/index.php\/2022\/06\/21\/tmsbp-naming-and-meta\/\" aria-label=\"Read more about TMS Best Practices: Naming Conventions and Meta Info\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23],"tags":[],"_links":{"self":[{"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/posts\/755"}],"collection":[{"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/comments?post=755"}],"version-history":[{"count":5,"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/posts\/755\/revisions"}],"predecessor-version":[{"id":833,"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/posts\/755\/revisions\/833"}],"wp:attachment":[{"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/media?parent=755"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/categories?post=755"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.digitaldatatactics.com\/index.php\/wp-json\/wp\/v2\/tags?post=755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}