<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Yasser Soliman</title>
    <description>The latest articles on DEV Community by Yasser Soliman (yassersoliman).</description>
    <link>https://dev.to/yassersoliman</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F15125%2Fcfa6ca58-5684-4f76-a99e-04bae2379054.webp</url>
      <title>DEV Community: Yasser Soliman</title>
      <link>https://dev.to/yassersoliman</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yassersoliman"/>
    <language>en</language>
    <item>
      <title>Your Website Has a Design System. Does Your Marketing Team Have a Content System?</title>
      <dc:creator>Hadil Ben Abdallah</dc:creator>
      <pubDate>Tue, 03 Nov 2026 09:51:30 +0000</pubDate>
      <link>https://dev.to/yassersoliman/your-website-has-a-design-system-does-your-marketing-team-have-a-content-system-27d1</link>
      <guid>https://dev.to/yassersoliman/your-website-has-a-design-system-does-your-marketing-team-have-a-content-system-27d1</guid>
      <description>&lt;p&gt;A marketing content system gives your team a reliable way to create, organize, update, and publish website content. Your design system may already define colors, typography, buttons, spacing, and reusable page components. But those rules don't explain who owns a landing page, how messaging stays consistent, or what happens when five people need to update different parts of the website.&lt;/p&gt;

&lt;p&gt;This gap becomes noticeable as a company grows. Marketing adds new campaigns, product teams introduce features, and the website accumulates more pages, messages, and calls to action. Everyone has access to the same design components, but content decisions still happen across scattered documents, Slack conversations, spreadsheets, and individual work habits.&lt;/p&gt;

&lt;p&gt;The result can be a website that looks consistent but communicates inconsistently. A marketing team might have all the right components and still struggle to keep messaging accurate, update pages quickly, or coordinate changes across the site.&lt;/p&gt;

&lt;p&gt;That is where a marketing content system becomes useful. It gives the people responsible for the website a shared way to manage the content that goes into those carefully designed components.&lt;/p&gt;




&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;A design system keeps the visual and interface elements of your website consistent, while a marketing content system helps your team manage the words, messaging, ownership, and publishing processes behind those pages. It defines how content is created, reviewed, reused, updated, and maintained. Together, these systems help marketing teams publish faster, keep messaging aligned, and manage website changes with fewer bottlenecks.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Design System Solves a Different Problem
&lt;/h2&gt;

&lt;p&gt;A design system gives your website a shared visual language. It defines how components should look and behave, so teams can build new pages without inventing every interface element from scratch.&lt;/p&gt;

&lt;p&gt;For example, a typical design system might include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Typography rules for headings, body text, and labels.&lt;/li&gt;
&lt;li&gt;Standard buttons, forms, navigation, and cards.&lt;/li&gt;
&lt;li&gt;Reusable page sections and layout patterns.&lt;/li&gt;
&lt;li&gt;Spacing, color, and accessibility guidelines.&lt;/li&gt;
&lt;li&gt;Component documentation for designers and developers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Established design systems such as the &lt;a href="https://atlassian.design/" rel="noopener noreferrer"&gt;Atlassian Design System&lt;/a&gt; demonstrate how shared components, design foundations, and documentation help teams create consistent digital experiences.&lt;/p&gt;

&lt;p&gt;These standards help maintain a consistent experience across the website. A new landing page can use the same button styles, form patterns, and page layouts as the rest of the site.&lt;/p&gt;

&lt;p&gt;However, the design system doesn't automatically tell your team what those components should communicate. It won't decide which product benefit belongs in a hero section, who approves a pricing-page change, or when an outdated customer quote needs replacing.&lt;/p&gt;

&lt;p&gt;Consider a company with several product pages. Each page uses the same heading styles, card layouts, and CTA buttons. Visually, everything feels connected. Yet one page describes a feature using an old product name, another promotes a benefit that has changed, and a third uses messaging that the sales team stopped using months ago.&lt;/p&gt;

&lt;p&gt;The components are consistent. The content is not.&lt;/p&gt;

&lt;p&gt;This is an ownership and content-management problem. Solving it requires a system that covers the information inside the components, along with the people and processes responsible for keeping that information accurate.&lt;/p&gt;




&lt;h2&gt;
  
  
  What a Marketing Content System Actually Covers
&lt;/h2&gt;

&lt;p&gt;A marketing content system defines how website content is managed throughout its lifecycle. It connects content decisions with the workflows, responsibilities, and technical setup that support the website.&lt;/p&gt;

&lt;p&gt;It doesn't need to be a new platform or a complicated collection of documents. For many B2B SaaS teams, it can start with clear content standards, documented ownership, reusable content patterns, and a reliable publishing process.&lt;/p&gt;

&lt;p&gt;A practical marketing content system should cover four areas:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Content structure and standards&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Define how your team writes and organizes website content. This includes product terminology, messaging guidelines, heading conventions, CTA language, tone of voice, and rules for describing features.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Reusable content patterns&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Document recurring content structures, such as hero sections, feature descriptions, customer proof, pricing explanations, and FAQ blocks. Teams should know which patterns are available and how to use them without creating inconsistent variations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Ownership and review responsibilities&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Make it clear who writes, reviews, approves, and maintains each type of content. Product marketing may own feature messaging, while a marketing lead approves campaign positioning. Developers may support technical implementation without becoming the default approvers of every content change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Publishing and maintenance workflows&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Establish how content moves from a draft to a live page. Include review requirements, publishing permissions, update procedures, and checks for links, forms, tracking, and page behavior.&lt;/p&gt;

&lt;p&gt;These four areas work together. Content standards help people make consistent decisions, reusable patterns reduce unnecessary work, ownership prevents approval confusion, and publishing workflows make sure approved changes reach the website safely.&lt;/p&gt;

&lt;p&gt;The goal is simple: give your marketing team a dependable way to manage website content as the company, product, and website continue to grow.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Content Ownership Becomes Difficult as a Website Grows
&lt;/h2&gt;

&lt;p&gt;When a company has only a few website pages, content ownership can feel straightforward. A marketer writes the copy, someone reviews it, and a developer publishes the update if technical help is needed.&lt;/p&gt;

&lt;p&gt;That process becomes harder as the website expands. New product pages, campaign landing pages, customer stories, integration pages, and resource libraries introduce more content owners and more opportunities for conflicting information.&lt;/p&gt;

&lt;p&gt;A product marketer might update a feature description while the website team is preparing a new landing page. Sales might request a change to the messaging on a pricing page, while another team is updating the same product terminology across several pages. Without clear ownership, these changes can move forward independently and create inconsistencies.&lt;/p&gt;

&lt;p&gt;The problem isn't that too many people contribute to the website. Different teams have useful information to share. The problem is that nobody has a clear view of who is responsible for the final content and how related changes should be coordinated.&lt;/p&gt;

&lt;p&gt;A content system should establish ownership at two levels:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Content ownership:&lt;/strong&gt; Who is responsible for the accuracy of the information? Product marketing may own feature descriptions, while sales or customer success can provide feedback on customer-facing language.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Publishing ownership:&lt;/strong&gt; Who can approve and publish the change? A marketing lead might approve the messaging, while an authorized website editor handles publication. Technical changes that affect templates, integrations, or site functionality may still require developer review.&lt;/p&gt;

&lt;p&gt;This distinction helps teams avoid unnecessary approval delays while keeping the right people involved. Marketing can manage routine content updates within agreed permissions, and developers can focus on changes that genuinely require technical work.&lt;/p&gt;

&lt;p&gt;It also makes ongoing maintenance easier. When a product feature changes, the team knows who should review the related website content and which pages may need updating.&lt;/p&gt;




&lt;h2&gt;
  
  
  Build Reusable Content Patterns Your Team Can Actually Maintain
&lt;/h2&gt;

&lt;p&gt;A design system gives teams reusable interface components. A marketing content system should give them reusable content patterns too.&lt;/p&gt;

&lt;p&gt;Think about how often a B2B SaaS website explains the same types of information. Product pages describe features and benefits. Integration pages explain compatibility and use cases. Landing pages introduce an offer, provide supporting evidence, and guide visitors toward a CTA.&lt;/p&gt;

&lt;p&gt;If every page starts from a blank document, marketers spend time solving the same structural problems repeatedly. The result can also vary significantly across pages, even when they serve similar purposes.&lt;/p&gt;

&lt;p&gt;Reusable content patterns provide a shared starting point. They define the information a page section should communicate while leaving room for the details of each product, audience, or campaign.&lt;/p&gt;

&lt;p&gt;For example, a feature section could follow a consistent structure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Feature name:&lt;/strong&gt; What the capability is called.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customer problem:&lt;/strong&gt; What difficulty it addresses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Practical benefit:&lt;/strong&gt; How it helps the customer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Supporting evidence:&lt;/strong&gt; A product detail, example, or customer result.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Next step:&lt;/strong&gt; The action visitors can take to learn more.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This structure helps writers produce complete, useful content. It also gives reviewers a consistent way to evaluate whether a section explains the feature clearly.&lt;/p&gt;

&lt;p&gt;The same principle applies to other recurring sections, including customer testimonials, integration descriptions, pricing explanations, and FAQ content.&lt;/p&gt;

&lt;p&gt;However, reusable patterns need ownership and maintenance. A template that contains outdated product terminology or an old CTA can spread the same mistake across multiple pages. Each pattern should have a clear purpose, documented usage guidance, and an owner responsible for keeping it accurate.&lt;/p&gt;

&lt;p&gt;Your website CMS may already support reusable blocks, structured content fields, or shared page templates. These capabilities can support the system, provided the team documents how and when to use them.&lt;/p&gt;




&lt;h2&gt;
  
  
  Connect Content Management to Your Website Workflow
&lt;/h2&gt;

&lt;p&gt;Even with clear standards and ownership, a content system can fail if it doesn't connect to the way website changes actually get published.&lt;/p&gt;

&lt;p&gt;A new landing page might have excellent copy and an approved design, but it still needs a publishing process. Someone must check the page structure, verify links and forms, confirm tracking, and make sure the final page works across devices.&lt;/p&gt;

&lt;p&gt;This is where content operations and WebOps meet. Content decisions need a reliable path to production, with enough checks to protect the website without making every small update a development project.&lt;/p&gt;

&lt;h3&gt;
  
  
  Define a Clear Marketing Content System Workflow
&lt;/h3&gt;

&lt;p&gt;A practical workflow can follow five stages:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Request:&lt;/strong&gt; Define the page or content change, its purpose, target audience, owner, and expected outcome.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Create:&lt;/strong&gt; Write or update the content using the team's messaging standards and reusable patterns.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Review:&lt;/strong&gt; Ask the relevant stakeholders to check accuracy, positioning, terminology, and any required approvals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Publish:&lt;/strong&gt; Move the approved content to the live website through the appropriate CMS permissions and publishing process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Verify:&lt;/strong&gt; Check the published page, links, forms, analytics events, responsive layout, and other requirements affected by the change.&lt;/p&gt;

&lt;h3&gt;
  
  
  Match the Review Process to the Scope of the Change
&lt;/h3&gt;

&lt;p&gt;Not every content update needs the same level of review. Correcting a typo doesn't require the same process as changing product positioning across several landing pages. Your workflow should reflect the risk and scope of the change.&lt;/p&gt;

&lt;p&gt;For example, a simple headline correction may only need a content owner and a quick live-page check. A new pricing page may require product, marketing, and technical reviews, followed by more extensive testing.&lt;/p&gt;

&lt;p&gt;The important part is making these expectations clear before work begins. Marketing should know which updates it can publish independently, which changes require approval, and when engineering needs to get involved.&lt;/p&gt;

&lt;p&gt;This is closely connected to the wider challenge of &lt;a href="https://yassersoliman.com/blog/why-marketing-teams-cant-get-dev-to-prioritize-website-requests/" rel="noopener noreferrer"&gt;keeping marketing website requests from getting stuck in development backlogs&lt;/a&gt;. A defined content workflow helps teams submit clearer requests, handle routine updates efficiently, and give developers the context they need when technical work is necessary.&lt;/p&gt;




&lt;h2&gt;
  
  
  Keep Your Content System Accurate as the Website Evolves
&lt;/h2&gt;

&lt;p&gt;A content system needs regular maintenance. Product features change, positioning evolves, campaigns end, and customer expectations shift. Without a process for reviewing existing pages, even a well-organized website can gradually become inconsistent.&lt;/p&gt;

&lt;p&gt;This is why content maintenance should be part of normal website operations. Teams need to know which pages contain important product information, who owns them, and when they should be reviewed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Build a Regular Website Content Review Process
&lt;/h3&gt;

&lt;p&gt;A few practical habits can help:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Assign an owner to important pages.&lt;/strong&gt; Every key product, pricing, integration, and conversion page should have someone responsible for its accuracy. That person doesn't need to make every edit, but they should know when the content needs attention.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Record important content changes.&lt;/strong&gt; Keep a simple history of significant updates, including what changed, who approved it, and when it went live. This makes it easier to investigate outdated messaging or understand why a page looks different from an earlier version.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Review content after product changes.&lt;/strong&gt; When a feature is renamed, a pricing model changes, or a product capability is updated, identify the website pages that describe it. Product documentation and website messaging should not drift apart.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Set review dates for high-impact pages.&lt;/strong&gt; Pricing pages, product pages, and pages used in active campaigns deserve more frequent attention than older resources that receive little traffic. A review schedule helps teams prioritize the content that matters most.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Remove outdated content carefully.&lt;/strong&gt; Before archiving a page or deleting an old campaign, check its traffic, backlinks, search visibility, and existing links from other pages. Some content may need an update or redirect to preserve its value.&lt;/p&gt;

&lt;h3&gt;
  
  
  Connect Content Maintenance to Overall Website Health
&lt;/h3&gt;

&lt;p&gt;These practices also connect to broader website maintenance. As I explain in &lt;a href="https://yassersoliman.com/blog/hidden-cost-website-neglect/" rel="noopener noreferrer"&gt;The Hidden Cost of Website Neglect at Growing Tech Companies&lt;/a&gt;, small website issues can accumulate and affect performance, lead generation, and the experience visitors receive.&lt;/p&gt;

&lt;p&gt;The same principle applies to content. A page that hasn't been reviewed in months may still be live, indexed, and influencing a potential customer's decision. Regular ownership and review help prevent those problems from becoming part of the normal website experience.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Know Whether Your Marketing Content System Is Working
&lt;/h2&gt;

&lt;p&gt;A content system should make website management easier to measure. If the team introduces new guidelines and workflows but cannot tell whether they improve day-to-day work, it's difficult to know what needs adjustment.&lt;/p&gt;

&lt;p&gt;Start with a few operational measures that reflect how your team manages content.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;What it helps you understand&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Time from content request to publication&lt;/td&gt;
&lt;td&gt;How efficiently updates move through the workflow&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Number of revisions per update&lt;/td&gt;
&lt;td&gt;Whether requests and content guidelines are clear&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Approval time&lt;/td&gt;
&lt;td&gt;Where reviews create delays&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Outdated pages identified&lt;/td&gt;
&lt;td&gt;Whether content maintenance is catching neglected information&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Publishing errors&lt;/td&gt;
&lt;td&gt;Whether quality checks are preventing mistakes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reuse of approved content patterns&lt;/td&gt;
&lt;td&gt;Whether teams are making effective use of existing structures&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These metrics need context. A complex pricing-page update will naturally take longer than a small copy correction. The goal isn't to make every update follow the same timeline. It's to identify unnecessary delays, repeated work, and recurring problems.&lt;/p&gt;

&lt;p&gt;For example, if simple landing page changes consistently wait several days for technical approval, the team may need clearer publishing permissions. If reviewers repeatedly request the same messaging corrections, the content standards may need more specific examples.&lt;/p&gt;

&lt;p&gt;You can also connect operational improvements to website performance. Track relevant outcomes such as landing page conversion rates, form completion, engagement with important pages, and organic search traffic. These measures won't prove that a content system caused every improvement, but they can help show whether better content management supports the wider marketing goals.&lt;/p&gt;

&lt;p&gt;The best system is one your team can actually follow. Start with a few useful standards and responsibilities, review how they work in practice, and improve the process as the website grows.&lt;/p&gt;




&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;p&gt;&lt;/p&gt;
  What is a marketing content system?
  &lt;br&gt;
A marketing content system is a set of standards, responsibilities, reusable patterns, and workflows that helps a team create, manage, publish, and maintain website content consistently. It gives everyone a clearer understanding of how content decisions are made and who is responsible for them.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  What is the difference between a design system and a content system?
  &lt;br&gt;
A design system defines the visual and functional components of a website, including typography, colors, buttons, and layouts. A content system manages the information inside those components, including messaging, terminology, content ownership, review processes, and publishing rules. Both systems work together to create a consistent website experience.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  Does a marketing content system require a new CMS?
  &lt;br&gt;
No. A new CMS isn't necessary for most teams. Your existing CMS may already support reusable blocks, structured content, editorial permissions, and publishing workflows. The first step is to establish clear standards and ownership, then identify whether your current tools support those requirements.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  Who should own a company's website content?
  &lt;br&gt;
Ownership should be shared according to expertise and responsibility. Product marketing can manage product messaging, demand generation can own campaign content, and designated marketing leads can approve broader website changes. Developers should handle technical implementation and changes that affect website functionality.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  How can a content system help marketing teams publish faster?
  &lt;br&gt;
A content system reduces repeated decisions and unnecessary approval delays. Reusable content patterns give writers a starting point, clear ownership prevents confusion, and documented publishing permissions help teams handle routine updates without waiting for developers. Technical reviews remain available for changes that require engineering work.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Your website's design system gives every page a consistent visual foundation. Your marketing content system gives the people managing those pages a consistent way to work.&lt;/p&gt;

&lt;p&gt;As a B2B SaaS website grows, content ownership, messaging, and publishing become harder to coordinate. Without clear processes, even a well-designed website can accumulate outdated information, inconsistent product descriptions, and unnecessary publishing delays.&lt;/p&gt;

&lt;p&gt;You don't need a complicated platform to address this. Start by documenting your content standards, assigning owners to important pages, creating reusable content patterns, and defining how updates move from request to publication.&lt;/p&gt;

&lt;p&gt;Then connect those practices to your existing website operations and review them as the business evolves.&lt;/p&gt;

&lt;p&gt;A well-managed website needs both systems. One keeps the experience consistent for visitors; the other helps your team keep that experience accurate and useful.&lt;/p&gt;




&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Thanks for reading! 🙏🏻 &lt;br&gt; I hope you found this useful ✅ &lt;br&gt; Please react and follow for more 😍 &lt;br&gt; Made with 💙 by &lt;a href="https://dev.to/hadil"&gt;Hadil Ben Abdallah&lt;/a&gt;
&lt;/th&gt;
&lt;th&gt;
&lt;a href="https://www.linkedin.com/in/hadil-ben-abdallah/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu48q29oef3l4a6eow30h.png" alt="LinkedIn" width="40" height="40"&gt;&lt;/a&gt; &lt;a href="https://github.com/Hadil-Ben-Abdallah" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhuvszgj6eun7xfvnwv51.png" alt="GitHub" width="50" height="50"&gt;&lt;/a&gt; &lt;a href="https://x.com/hadilbnabdallah" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F53x550t83v5ner74xkxo.jpg" alt="Twitter" width="40" height="40"&gt;&lt;/a&gt;
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;


&lt;div class="ltag__user ltag__user__id__1209000"&gt;
    &lt;a href="/hadil" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=150,height=150,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1209000%2Fb29d37d8-2efe-4391-9796-a6f8a483f1bd.png" alt="hadil image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/hadil"&gt;Hadil Ben Abdallah&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/hadil"&gt;Software Engineer • Technical Writer (300K+ readers &amp;amp; 25K+ followers) • Trusted by 20+ startups and tech companies worldwide
I turn brands into websites people 💙 to use&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>webdev</category>
      <category>marketing</category>
      <category>designsystem</category>
      <category>performance</category>
    </item>
    <item>
      <title>Your Form Says “Submitted”. So Where Did the Lead Go?</title>
      <dc:creator>Hadil Ben Abdallah</dc:creator>
      <pubDate>Tue, 27 Oct 2026 09:14:10 +0000</pubDate>
      <link>https://dev.to/yassersoliman/your-form-says-submitted-so-where-did-the-lead-go-4bca</link>
      <guid>https://dev.to/yassersoliman/your-form-says-submitted-so-where-did-the-lead-go-4bca</guid>
      <description>&lt;p&gt;Lead tracking should tell you what happens after someone fills out a form on your website. But what happens when a visitor sees a confirmation message, your analytics records a conversion, and the lead never appears in your CRM?&lt;/p&gt;

&lt;p&gt;For B2B SaaS marketing teams, this gap can create a serious blind spot. A campaign may appear to generate leads, yet sales sees fewer contacts than expected. Marketing starts checking campaign performance, sales questions the lead numbers, and someone eventually has to investigate the website, form integration, and CRM.&lt;/p&gt;

&lt;p&gt;The tricky part is that the form can appear to work perfectly. The visitor submits their details, the page displays a success message, and an analytics event fires. None of those signals proves that the CRM received and saved the lead.&lt;/p&gt;

&lt;p&gt;Reliable lead tracking depends on the full journey from the first form interaction to the contact record in your CRM. Every step needs to pass the right information to the next one, with enough visibility to catch errors before they affect reporting or sales follow-up.&lt;/p&gt;

&lt;p&gt;In this guide, we'll look at where leads can disappear, how to trace a submission through the systems involved, and what B2B SaaS teams can do to make their tracking more reliable.&lt;/p&gt;




&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;If a website form shows a successful submission but the lead never reaches your CRM, &lt;strong&gt;check the entire form-to-CRM process, not just the confirmation message or analytics event&lt;/strong&gt;. The problem may come from a failed API request, a broken integration, field mapping errors, validation rules, duplicate handling, or a CRM workflow that rejects or changes the record.&lt;/p&gt;

&lt;p&gt;Start with one test submission and follow it through each stage:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Confirm that the website receives the form data.&lt;/li&gt;
&lt;li&gt;Check whether the form sends the data to the correct integration or endpoint.&lt;/li&gt;
&lt;li&gt;Review integration logs and API responses for errors.&lt;/li&gt;
&lt;li&gt;Verify that the CRM creates the contact or lead record.&lt;/li&gt;
&lt;li&gt;Check field mappings, duplicate rules, assignment settings, and automation.&lt;/li&gt;
&lt;li&gt;Compare form submissions with CRM records and analytics conversions to find gaps.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Good lead tracking gives marketing and sales a clearer picture of what actually happened. It also makes problems easier to diagnose before missing leads turn into missed opportunities.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Lead Tracking Can Fail Even When a Form Submission Succeeds
&lt;/h2&gt;

&lt;p&gt;A success message usually confirms that the website has completed a specific step. Depending on how the form is built, it may mean the browser accepted the submission, the server received the request, or a form service returned a successful response.&lt;/p&gt;

&lt;p&gt;That message does not always confirm that the CRM saved a new lead.&lt;/p&gt;

&lt;p&gt;Consider a visitor who fills out a demo request form. The website displays a confirmation message, and Google Analytics records a conversion. However, the integration that sends the visitor's details to the CRM encounters an error. Marketing counts the conversion, but sales never receives the contact.&lt;/p&gt;

&lt;p&gt;From the visitor's perspective, everything worked. From the business's perspective, the lead journey stopped before it reached the sales team.&lt;/p&gt;

&lt;h3&gt;
  
  
  Each System Confirms a Different Part of the Journey
&lt;/h3&gt;

&lt;p&gt;A typical lead journey may involve several separate systems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Website form:&lt;/strong&gt; Collects the visitor's name, email address, company, and other details.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Form handler or backend:&lt;/strong&gt; Receives the submission and processes the data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integration or API:&lt;/strong&gt; Transfers the lead information to another system.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CRM:&lt;/strong&gt; Creates or updates the contact or lead record.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analytics and attribution tools:&lt;/strong&gt; Record conversion activity and campaign details.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjk2njy5m2att0xr23fh7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjk2njy5m2att0xr23fh7.png" alt="Lead tracking flow from website form submission through API integration to CRM and analytics" width="799" height="307"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some websites use a form platform that handles several of these steps. Others rely on custom code, automation tools, webhooks, or multiple integrations. The exact setup changes, but the same principle applies: a successful step does not guarantee that every later step succeeded.&lt;/p&gt;

&lt;h3&gt;
  
  
  How Lead Tracking Gaps Affect Marketing and Sales
&lt;/h3&gt;

&lt;p&gt;Missing leads can distort campaign reports, delay sales follow-up, and make a successful campaign look weaker than it really is. The reverse can happen, too: analytics may count repeat submissions or conversions that never become usable CRM records.&lt;/p&gt;

&lt;p&gt;Without reliable lead tracking, teams may struggle to answer basic questions. How many people requested a demo? Which campaigns generated contacts that sales could actually follow up with? Did a drop in leads come from campaign performance or a technical failure?&lt;/p&gt;

&lt;p&gt;Before changing ad budgets or rewriting a landing page, make sure the systems handling the leads are reporting what actually happened.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Most Common Places a Lead Can Disappear
&lt;/h2&gt;

&lt;p&gt;When a lead fails to reach the CRM, the cause is often somewhere in the handoff between systems. Start by checking the following areas, then use logs and test submissions to narrow down the exact failure point.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Lead Tracking Failures in Form Integrations
&lt;/h3&gt;

&lt;p&gt;A form may collect the visitor's details correctly while the next request fails. The integration might use an expired access token, an incorrect endpoint, a missing permission, or a request format that the receiving service does not accept.&lt;/p&gt;

&lt;p&gt;For example, a CRM API may reject a request because a required field is missing. If the website still shows a generic success message, the visitor may never know that the lead was not saved.&lt;/p&gt;

&lt;p&gt;Check the integration logs, request status, and error response where available. A successful browser interaction alone is not enough to confirm that the CRM received the data.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Field Mapping or Validation Rules Reject the Lead
&lt;/h3&gt;

&lt;p&gt;Even when a request reaches the CRM, the data may not match the fields or rules expected by the system. A form might send a company name under the wrong field, use an unexpected date format, or leave a required CRM field empty.&lt;/p&gt;

&lt;p&gt;Validation rules can also block a record. For example, the CRM may require a lead source, a valid email address, or a value from a predefined list. If the integration sends an unsupported value, the CRM may reject the request or leave the record incomplete.&lt;/p&gt;

&lt;p&gt;Compare the form fields with their destination CRM fields, and check whether the integration transforms values before sending them. Pay attention to recently changed forms, CRM fields, and validation rules, since a small configuration change can interrupt the flow.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Duplicate Rules Prevent a New Lead From Being Created
&lt;/h3&gt;

&lt;p&gt;A missing lead isn't always a lost submission. Some CRMs detect an existing contact or lead and block a new record from being created.&lt;/p&gt;

&lt;p&gt;This can happen when someone submits a demo request using an email address already in the CRM. Depending on the duplicate rules, the system may reject the new record, update an existing contact, or flag the submission for review. The behavior varies by CRM configuration.&lt;/p&gt;

&lt;p&gt;Check the duplicate handling rules and search for the submitted email address across both contacts and leads. The person may already exist, even if the sales team doesn't see a new lead in the expected view.&lt;/p&gt;

&lt;p&gt;For example, Salesforce documents cases where duplicate rules prevent website form submissions from creating new lead records.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Cite&lt;/span&gt; &lt;span class="na"&gt;refs&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;turn878168search0&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;turn878168search2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  4. CRM Workflows Change or Redirect the Record
&lt;/h3&gt;

&lt;p&gt;Sometimes the CRM receives the submission, but the lead ends up somewhere the team isn't looking.&lt;/p&gt;

&lt;p&gt;Assignment rules may send it to another sales representative. Automation may change its status, associate it with an existing contact, or move it into a different queue. Filters and permissions can also make a record difficult to find.&lt;/p&gt;

&lt;p&gt;Search the CRM using the email address from your test submission, then check the record's creation time, owner, status, and activity history. Review any automation triggered when a new lead arrives.&lt;/p&gt;

&lt;p&gt;If the record exists but doesn't appear in the expected dashboard or lead list, investigate the CRM's views, filters, and assignment rules before changing the website integration.&lt;/p&gt;
&lt;h3&gt;
  
  
  5. Analytics Counts a Conversion That the CRM Never Receives
&lt;/h3&gt;

&lt;p&gt;Analytics and CRM records measure different things. An analytics event can fire when a visitor clicks a submit button or reaches a confirmation page, even if the integration fails later.&lt;/p&gt;

&lt;p&gt;This can inflate reported conversions and make campaign performance difficult to assess. A campaign might appear to generate plenty of leads while sales receives fewer contacts than expected.&lt;/p&gt;

&lt;p&gt;Review the event configuration to understand exactly what triggers a conversion. Where possible, track confirmed submission success separately from the initial button click, and compare those events with actual CRM records.&lt;/p&gt;

&lt;p&gt;Be careful with the numbers: one person may submit a form more than once, and a CRM may update an existing contact without creating a new lead. Those cases can explain differences between the totals without indicating a technical failure.&lt;/p&gt;


&lt;h2&gt;
  
  
  How to Fix Lead Tracking Issues From Form to CRM
&lt;/h2&gt;

&lt;p&gt;Once you understand the possible failure points, the next step is to follow a test submission through the actual systems. This helps you identify where the data stops moving, instead of guessing which tool is responsible.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 1: Submit a Test Lead
&lt;/h3&gt;

&lt;p&gt;Use a controlled test with a unique email address and realistic values for the required fields. Record the time of submission, the page URL, and the information entered.&lt;/p&gt;

&lt;p&gt;If the form captures campaign details, check whether the relevant UTM parameters or hidden fields are included. Avoid using real customer information in test records.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 2: Confirm That the Website Received the Submission
&lt;/h3&gt;

&lt;p&gt;Check the form platform, server logs, or browser developer tools, depending on how the form works. Look for the submission request and its response.&lt;/p&gt;

&lt;p&gt;A successful response confirms only what that specific endpoint is designed to confirm. If the website sends data to an intermediate service, you still need to verify the next step.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 3: Check the Integration or API Response
&lt;/h3&gt;

&lt;p&gt;Follow the request that transfers the form data to the CRM. Look for authentication failures, invalid field values, missing required data, rate limits, and server errors.&lt;/p&gt;

&lt;p&gt;If the integration uses webhooks or an automation platform, review its execution history. Check whether the workflow ran, whether each action succeeded, and whether an error message explains the failure.&lt;/p&gt;

&lt;p&gt;For custom integrations, make sure logs contain enough information to diagnose failures without exposing passwords, access tokens, or unnecessary personal data.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 4: Search the CRM for the Test Record
&lt;/h3&gt;

&lt;p&gt;Search for the test email across the relevant contact and lead records. Check for existing records, duplicate handling, assignment rules, and automation that may have changed the record after submission.&lt;/p&gt;

&lt;p&gt;If the CRM rejected the request, use the available error details to identify the field or rule that caused the problem. For example, Microsoft's documentation on &lt;a href="https://learn.microsoft.com/en-us/troubleshoot/dynamics-365/customer-insights/journeys/forms/troubleshooting-forms" rel="noopener noreferrer"&gt;troubleshooting failed marketing form submissions&lt;/a&gt; explains how submission logs can help identify failures when records cannot be created or updated.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 5: Repeat the Test After Fixing the Cause
&lt;/h3&gt;

&lt;p&gt;Once you've corrected the issue, submit another test and follow the same path. Confirm that the CRM creates or updates the expected record, the relevant fields contain the right values, and the lead appears in the correct place.&lt;/p&gt;

&lt;p&gt;Also verify that analytics records the intended conversion. If the fix involves resubmitting failed submissions, check for duplicates before replaying them, since some systems may create another record when a submission is processed again.&lt;/p&gt;


&lt;h2&gt;
  
  
  How to Prevent Missing Leads From Becoming a Recurring Problem
&lt;/h2&gt;

&lt;p&gt;Finding one missing lead is useful. Making sure the same problem doesn't quietly affect the next campaign is even more important.&lt;/p&gt;

&lt;p&gt;A reliable setup combines routine testing, clear ownership, useful error logs, and regular checks between form submissions and CRM records.&lt;/p&gt;
&lt;h3&gt;
  
  
  Test Forms After Important Website Changes to Verify Lead Tracking
&lt;/h3&gt;

&lt;p&gt;A form can break after a website release, a CMS update, a CRM field change, or an integration adjustment. Add form testing to the release process whenever a change could affect submission behavior.&lt;/p&gt;

&lt;p&gt;Test the full journey, including the confirmation message, CRM record creation, required fields, lead assignment, and conversion tracking. A form that looks correct on the page still needs to pass data through every connected system.&lt;/p&gt;
&lt;h3&gt;
  
  
  Monitor Lead Tracking Errors and Failed Submissions
&lt;/h3&gt;

&lt;p&gt;Make sure someone can see when a form integration fails. Depending on the platform, this could involve error notifications, automation logs, API monitoring, or alerts for failed workflow runs.&lt;/p&gt;

&lt;p&gt;Choose a process that fits the site's complexity. A small site may only need regular checks and clear error notifications, while a larger marketing operation may benefit from automated monitoring and alerts.&lt;/p&gt;

&lt;p&gt;The important part is to make failures visible. If the team discovers missing leads only after sales reports a problem, the website may have been losing opportunities for days.&lt;/p&gt;
&lt;h3&gt;
  
  
  Compare Form Submissions With CRM Records to Verify Lead Tracking
&lt;/h3&gt;

&lt;p&gt;Review form submissions and CRM records on a regular schedule. Look for unexpected gaps, sudden changes in conversion counts, and forms that generate submissions but few usable contacts.&lt;/p&gt;

&lt;p&gt;Compare equivalent measures wherever possible. Account for repeat submissions, updates to existing contacts, spam filtering, and differences in how each platform counts conversions.&lt;/p&gt;

&lt;p&gt;Give the process a clear owner. Marketing may own campaign reporting, while engineering or a WebOps lead monitors the integrations and investigates technical failures. Both teams should know who responds when the numbers stop matching.&lt;/p&gt;
&lt;h3&gt;
  
  
  Keep Changes to Forms and Integrations Documented
&lt;/h3&gt;

&lt;p&gt;Record important changes to form fields, CRM mappings, API connections, validation rules, and automation. When a problem appears, the team can check what changed and narrow down the cause more quickly.&lt;/p&gt;

&lt;p&gt;This is a practical part of website operations: the forms, analytics, and integrations that support marketing need ongoing care, just like the pages visitors see.&lt;/p&gt;


&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;p&gt;&lt;/p&gt;
  Why does my website form say submitted, but the lead doesn't appear in my CRM?
  &lt;br&gt;
A successful form message confirms that a specific step has completed, but it doesn't always mean the CRM saved the lead. The integration may have failed, the CRM may have rejected the data, or duplicate rules may have prevented a new record. Check the submission logs, integration response, and CRM records to identify where the process stopped.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  How can I check whether my website form is connected to my CRM correctly?
  &lt;br&gt;
Submit a test lead using a unique email address, then follow it through the form handler, integration, and CRM. Confirm that the request succeeds, the required fields map correctly, and the expected record appears in the CRM. Also check assignment rules and automation to make sure the record reaches the right place.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  Can Google Analytics track a lead that never reaches the CRM?
  &lt;br&gt;
Yes. Analytics can record a conversion when a visitor clicks a submit button or reaches a confirmation page, even if a later integration request fails. To improve lead tracking, define what counts as a successful conversion and compare analytics events with CRM records. Remember that repeat submissions and updates to existing contacts can also cause differences in the totals.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  What are the most common causes of missing leads in a CRM?
  &lt;br&gt;
Common causes include failed API requests, expired credentials, incorrect field mappings, missing required values, duplicate rules, and CRM automation that changes or redirects records. Reporting filters and permissions can also make a lead difficult to find. Checking each stage of the form-to-CRM process helps narrow down the cause.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  How can B2B SaaS teams prevent leads from disappearing?
  &lt;br&gt;
B2B SaaS teams can reduce missing leads by testing forms after relevant website changes, monitoring integration errors, checking CRM field mappings, and comparing form activity with CRM records. Clear ownership also matters: marketing, sales, and engineering should know who monitors the process and who investigates when submissions fail.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;A form can look healthy on the website while the process behind it quietly loses leads. That's why reliable lead tracking needs more than a confirmation message or a conversion event. The full journey, from the visitor's submission to the CRM record, needs to work as expected.&lt;/p&gt;

&lt;p&gt;When a lead goes missing, trace one test submission through each system, inspect the logs, and confirm what happened inside the CRM. Once you find the cause, add the right checks and monitoring so the same problem doesn't go unnoticed during the next campaign.&lt;/p&gt;

&lt;p&gt;For B2B SaaS teams, this is an important part of WebOps. The website, forms, analytics, and CRM integrations all support the path from marketing activity to sales conversations. Keeping those connections healthy helps teams make better decisions and gives sales a more reliable stream of leads.&lt;/p&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Thanks for reading! 🙏🏻 &lt;br&gt; I hope you found this useful ✅ &lt;br&gt; Please react and follow for more 😍 &lt;br&gt; Made with 💙 by &lt;a href="https://dev.to/hadil"&gt;Hadil Ben Abdallah&lt;/a&gt;
&lt;/th&gt;
&lt;th&gt;
&lt;a href="https://www.linkedin.com/in/hadil-ben-abdallah/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu48q29oef3l4a6eow30h.png" alt="LinkedIn" width="40" height="40"&gt;&lt;/a&gt; &lt;a href="https://github.com/Hadil-Ben-Abdallah" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhuvszgj6eun7xfvnwv51.png" alt="GitHub" width="50" height="50"&gt;&lt;/a&gt; &lt;a href="https://x.com/hadilbnabdallah" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F53x550t83v5ner74xkxo.jpg" alt="Twitter" width="40" height="40"&gt;&lt;/a&gt;
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;


&lt;div class="ltag__user ltag__user__id__1209000"&gt;
    &lt;a href="/hadil" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=150,height=150,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1209000%2Fb29d37d8-2efe-4391-9796-a6f8a483f1bd.png" alt="hadil image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/hadil"&gt;Hadil Ben Abdallah&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/hadil"&gt;Software Engineer • Technical Writer (300K+ readers &amp;amp; 25K+ followers) • Trusted by 20+ startups and tech companies worldwide
I turn brands into websites people 💙 to use&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;



</description>
      <category>webdev</category>
      <category>performance</category>
      <category>marketing</category>
      <category>programming</category>
    </item>
    <item>
      <title>Stop Shipping Marketing Pages Like Product Features</title>
      <dc:creator>Hadil Ben Abdallah</dc:creator>
      <pubDate>Tue, 20 Oct 2026 09:02:59 +0000</pubDate>
      <link>https://dev.to/yassersoliman/stop-shipping-marketing-pages-like-product-features-374d</link>
      <guid>https://dev.to/yassersoliman/stop-shipping-marketing-pages-like-product-features-374d</guid>
      <description>&lt;p&gt;A marketing page workflow should help your team launch campaigns, update messaging, and improve conversions without turning every small website change into a development project.&lt;/p&gt;

&lt;p&gt;Yet, in many B2B SaaS companies, updating a headline, adding a customer story, or launching a new landing page can require the same process as shipping a product feature. Marketing submits a request, engineering reviews it, priorities compete for attention, and a simple update waits in the backlog.&lt;/p&gt;

&lt;p&gt;This usually happens because teams use one process for two different kinds of work. Product developers have roadmaps, technical tasks, and deadlines of their own. They need time to build and maintain the product, while marketing needs to keep the website and campaigns up to date.&lt;/p&gt;

&lt;p&gt;Over time, this setup can slow down campaigns, delay conversion improvements, and leave marketing teams waiting for developers to make routine changes. It can also push teams toward quick fixes that lead to inconsistent designs, tracking issues, and extra technical work later.&lt;/p&gt;

&lt;p&gt;A better marketing page workflow gives marketing more freedom while keeping engineering involved where technical skills matter. The goal is to make website updates easier to publish, safer to maintain, and easier to measure.&lt;/p&gt;




&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;Stop shipping marketing pages like product features by creating a dedicated marketing page workflow with clear ownership, reusable components, the right publishing permissions, and simple quality checks.&lt;/p&gt;

&lt;p&gt;Marketing should handle routine content and campaign updates through an approved process. Engineering should set the technical standards, maintain shared components, and review changes that affect security, architecture, integrations, or complex features.&lt;/p&gt;

&lt;p&gt;Before a page goes live, the team should check its mobile layout, links, forms, analytics, SEO basics, and performance. This approach helps B2B SaaS teams launch campaigns faster without sacrificing website quality or reliability.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Marketing Page Updates Get Stuck in the Product Backlog
&lt;/h2&gt;

&lt;p&gt;When marketing page updates follow the same process as product features, they compete for time with work that may have a higher priority on the engineering roadmap.&lt;/p&gt;

&lt;p&gt;A marketing team might need to change a headline before a campaign launches, add a new customer story, or test a landing page. However, the request may wait days or weeks while developers work on product releases, bug fixes, and technical projects.&lt;/p&gt;

&lt;p&gt;These delays affect more than publishing dates. A campaign may launch with outdated messaging, a useful conversion improvement may sit on hold, or a small change may miss its window entirely.&lt;/p&gt;

&lt;p&gt;The issue often comes from the workflow, not the people involved. &lt;a href="https://yassersoliman.com/blog/why-marketing-teams-cant-get-dev-to-prioritize-website-requests/" rel="noopener noreferrer"&gt;Marketing requests often compete with product work&lt;/a&gt; because engineering backlogs are built around product priorities. Developers need to protect their time for complex technical work, while marketers need a reliable way to make approved website changes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A dedicated marketing page workflow helps separate routine website updates from product development.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It gives each type of work a clear path, with the right people involved at the right time.&lt;/p&gt;

&lt;p&gt;For example, changing a headline should usually be a simple content update. Adding a new feature that connects to an application API may need engineering input. Treating both requests the same way creates extra work for everyone.&lt;/p&gt;




&lt;h2&gt;
  
  
  Marketing Pages Have Different Requirements From Product Features
&lt;/h2&gt;

&lt;p&gt;Product features and marketing pages support different goals. Product teams focus on functionality, reliability, and user needs. Marketing teams focus on messaging, campaigns, lead generation, and conversion rates.&lt;/p&gt;

&lt;p&gt;Those goals affect how each type of work should move through a team.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Area&lt;/th&gt;
&lt;th&gt;Product features&lt;/th&gt;
&lt;th&gt;Marketing pages&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Main goal&lt;/td&gt;
&lt;td&gt;Improve the product experience&lt;/td&gt;
&lt;td&gt;Attract, inform, and convert visitors&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Common changes&lt;/td&gt;
&lt;td&gt;Application logic, APIs, and user features&lt;/td&gt;
&lt;td&gt;Headlines, landing pages, testimonials, and campaign content&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Priorities&lt;/td&gt;
&lt;td&gt;Product roadmap, customer needs, and reliability&lt;/td&gt;
&lt;td&gt;Campaign dates, messaging, and conversion opportunities&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Publishing process&lt;/td&gt;
&lt;td&gt;Development, testing, and release&lt;/td&gt;
&lt;td&gt;Content review, quality checks, and publishing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Success measures&lt;/td&gt;
&lt;td&gt;Product usage, reliability, and retention&lt;/td&gt;
&lt;td&gt;Leads, conversions, engagement, and campaign results&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These are common patterns, not fixed rules. A complex landing page with custom integrations may need substantial engineering work, while a small product copy change may be easy to publish.&lt;/p&gt;

&lt;p&gt;The important thing is to match the process to the work. A marketing page workflow should let teams handle routine updates quickly while keeping the right technical checks in place for more complex changes.&lt;/p&gt;




&lt;h2&gt;
  
  
  Build a Marketing Page Workflow That Fits the Work
&lt;/h2&gt;

&lt;p&gt;A useful workflow gives every website request a clear path from the first idea to the final results. It should also make ownership, review needs, and expected turnaround times easy to understand.&lt;/p&gt;

&lt;p&gt;A simple process can include five stages:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Request:&lt;/strong&gt; Marketing explains the goal, audience, content, and deadline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create:&lt;/strong&gt; The team builds the page using approved templates and components.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review:&lt;/strong&gt; The right people check the content, design, functionality, and tracking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Publish:&lt;/strong&gt; An authorized team member launches the page and checks the live version.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Measure:&lt;/strong&gt; The team reviews performance and uses the results to guide future changes.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Not every request needs the same level of review. A headline change may only need a quick content check, while a new lead form could require testing, analytics checks, and an engineering review.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8wexa9lpc5zcd7z8oain.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8wexa9lpc5zcd7z8oain.png" alt="Marketing page workflow showing request, creation, review, publishing, and performance measurement stages" width="799" height="307"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clear ownership also prevents requests from getting lost. Marketing should know who prepares the page, who approves the content, and who can publish it. Engineering should know when a request needs technical review.&lt;/p&gt;

&lt;p&gt;With these steps in place, a marketing page workflow becomes easier to follow and less dependent on ad hoc requests.&lt;/p&gt;




&lt;h2&gt;
  
  
  Give Marketing Reusable Components, Not Unlimited Freedom
&lt;/h2&gt;

&lt;p&gt;Marketing teams need room to create pages that fit different campaigns. However, building every page from scratch can lead to inconsistent layouts, repeated work, and more maintenance for developers.&lt;/p&gt;

&lt;p&gt;Reusable components offer a practical way to balance speed and consistency. These can include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Testimonials and customer story blocks&lt;/li&gt;
&lt;li&gt;Product comparison tables&lt;/li&gt;
&lt;li&gt;Customer logo sections&lt;/li&gt;
&lt;li&gt;FAQs and call-to-action blocks&lt;/li&gt;
&lt;li&gt;Lead forms and contact sections&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When the team uses approved components, marketers can assemble pages without rebuilding common elements each time. Developers can maintain those components in one place, making it easier to fix issues and improve the overall design.&lt;/p&gt;

&lt;p&gt;Still, reusable components need clear rules. Teams should document which parts marketers can edit, what they can customize, and when a new component requires engineering support.&lt;/p&gt;

&lt;p&gt;The right setup depends on the website platform and the team's needs. A content management system (CMS) with flexible page templates may offer enough control for routine updates. More complex pages may still need custom development.&lt;/p&gt;

&lt;p&gt;The goal is to give marketing useful tools and clear boundaries, so the team can work independently without creating avoidable technical problems.&lt;/p&gt;




&lt;h2&gt;
  
  
  Set Clear Publishing Permissions and Quality Checks
&lt;/h2&gt;

&lt;p&gt;A good marketing page workflow should explain who can edit, review, and publish each type of change. These permissions help teams move quickly while protecting the website from mistakes.&lt;/p&gt;

&lt;p&gt;For example, marketers may be able to edit page copy and use approved components. Engineering may handle shared templates, JavaScript, complex integrations, and changes that affect security or site-wide behavior.&lt;/p&gt;

&lt;p&gt;This setup keeps routine work moving while giving technical changes the attention they need.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use a Simple Pre-Publish Checklist
&lt;/h3&gt;

&lt;p&gt;Before publishing a landing page, check the areas that can affect visitors, conversions, and search visibility.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Content:&lt;/strong&gt; Is the copy accurate, clear, and free of errors?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mobile layout:&lt;/strong&gt; Does the page work well on different screen sizes?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Links and forms:&lt;/strong&gt; Do links, form submissions, and confirmation messages work?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analytics:&lt;/strong&gt; Do conversion events and tracking tools record the right data?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SEO:&lt;/strong&gt; Are the page title, metadata, canonical URL, and indexing settings correct?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Performance and accessibility:&lt;/strong&gt; Does the page load well, and can people use it easily?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Publishing safety:&lt;/strong&gt; Can the team restore the previous version if something goes wrong?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For Google's guidance on making pages eligible to appear in search results, review the &lt;a href="https://developers.google.cn/search/docs/essentials?hl=en" rel="noopener noreferrer"&gt;Google Search Essentials guidelines&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Not every update needs a full technical review. A small text change may need only a quick check, while a new form or custom integration deserves more testing.&lt;/p&gt;

&lt;p&gt;After publishing, someone should check the live page to confirm that it looks right and works as expected. This final step can catch problems that were missed during review.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa6tof6lgkwlw6ayad2ts.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa6tof6lgkwlw6ayad2ts.png" alt="Marketing landing page quality checks for mobile layout, forms, analytics, SEO, performance, and accessibility" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Measure Whether Your Marketing Page Workflow Is Working
&lt;/h2&gt;

&lt;p&gt;A marketing page workflow should make publishing easier, but teams need a way to tell whether it is helping. A few useful measures can show where delays remain and whether the process is improving.&lt;/p&gt;

&lt;p&gt;Start with the time it takes to move from a request to a live page. If routine updates still wait in the backlog, the team may need clearer ownership or a simpler approval process.&lt;/p&gt;

&lt;p&gt;It also helps to track how often campaign deadlines are missed, how many issues appear after publishing, and whether forms and conversion events work as expected.&lt;/p&gt;

&lt;p&gt;Conversion rates matter, too, but they need context. A page may attract more visitors while generating fewer qualified leads. Teams should look at campaign goals, lead quality, and tracking reliability alongside conversion numbers.&lt;/p&gt;

&lt;p&gt;Use these results to improve the workflow over time. If content reviews cause delays, clarify who approves copy. If pages often break on mobile, improve the shared templates or pre-publish checks.&lt;/p&gt;

&lt;p&gt;The aim is not to add more reporting. It is to understand where the process slows down and make the next update easier to ship.&lt;/p&gt;




&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is a marketing page workflow?
&lt;/h3&gt;

&lt;p&gt;→ marketing page workflow is the process a team follows to plan, create, review, publish, and measure website updates. It defines who handles each step, which changes need approval, and what checks must happen before a page goes live. A clear workflow helps marketing teams publish updates with fewer delays and fewer avoidable errors.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why shouldn't marketing pages follow the same process as product features?
&lt;/h3&gt;

&lt;p&gt;→ Marketing pages and product features have different goals, deadlines, and technical needs. Routine page updates often need a quick review, while product features may require development, testing, and release planning. A dedicated marketing page workflow helps teams publish campaign updates faster while keeping engineering involved in changes that need technical expertise.&lt;/p&gt;

&lt;h3&gt;
  
  
  How can marketing teams update website pages without depending on developers?
&lt;/h3&gt;

&lt;p&gt;→ Teams can use a CMS, approved page templates, and reusable components to handle routine website changes. Clear publishing permissions and simple guidelines also help marketers understand what they can update on their own. Developers can then focus on shared components, complex features, integrations, and technical issues that need their attention.&lt;/p&gt;

&lt;h3&gt;
  
  
  What should teams check before publishing a landing page?
&lt;/h3&gt;

&lt;p&gt;→ Teams should review the content, mobile layout, links, forms, analytics, SEO settings, performance, and accessibility. They should also confirm that the correct page version is live and that a rollback is possible if an issue appears. The depth of the checks should match the type and risk of the change.&lt;/p&gt;

&lt;h3&gt;
  
  
  Who should own a B2B SaaS marketing website?
&lt;/h3&gt;

&lt;p&gt;→ A B2B SaaS company should assign clear responsibility for its marketing website. Marketing usually owns messaging, campaign priorities, and conversion goals, while engineering maintains technical standards and handles complex changes. A WebOps lead can connect these responsibilities, improve the publishing process, and help the website support the company's growth goals.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Marketing teams should not have to choose between publishing quickly and keeping their website reliable. A clear marketing page workflow helps them handle routine updates, launch campaigns on time, and test new ideas without sending every small request to engineering.&lt;/p&gt;

&lt;p&gt;The key is to give each team clear responsibilities, provide reusable components, set sensible publishing permissions, and apply quality checks that match the work. Engineering can protect the technical foundations while marketing gets more control over everyday website updates.&lt;/p&gt;

&lt;p&gt;For B2B SaaS companies, this is an important part of WebOps: keeping the marketing website useful, reliable, and ready to support business goals.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What website change is your team waiting too long to ship, and what would make that process easier?&lt;/em&gt;&lt;/p&gt;




&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Thanks for reading! 🙏🏻 &lt;br&gt; I hope you found this useful ✅ &lt;br&gt; Please react and follow for more 😍 &lt;br&gt; Made with 💙 by &lt;a href="https://dev.to/hadil"&gt;Hadil Ben Abdallah&lt;/a&gt;
&lt;/th&gt;
&lt;th&gt;
&lt;a href="https://www.linkedin.com/in/hadil-ben-abdallah/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu48q29oef3l4a6eow30h.png" alt="LinkedIn" width="40" height="40"&gt;&lt;/a&gt; &lt;a href="https://github.com/Hadil-Ben-Abdallah" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhuvszgj6eun7xfvnwv51.png" alt="GitHub" width="50" height="50"&gt;&lt;/a&gt; &lt;a href="https://x.com/hadilbnabdallah" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F53x550t83v5ner74xkxo.jpg" alt="Twitter" width="40" height="40"&gt;&lt;/a&gt;
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;


&lt;div class="ltag__user ltag__user__id__1209000"&gt;
    &lt;a href="/hadil" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=150,height=150,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1209000%2Fb29d37d8-2efe-4391-9796-a6f8a483f1bd.png" alt="hadil image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/hadil"&gt;Hadil Ben Abdallah&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/hadil"&gt;Software Engineer • Technical Writer (300K+ readers &amp;amp; 25K+ followers) • Trusted by 20+ startups and tech companies worldwide
I turn brands into websites people 💙 to use&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>webdev</category>
      <category>programming</category>
      <category>marketing</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Your Marketing Site Has 40 Scripts. Which Ones Are Actually Worth Keeping?</title>
      <dc:creator>Hadil Ben Abdallah</dc:creator>
      <pubDate>Tue, 13 Oct 2026 09:09:59 +0000</pubDate>
      <link>https://dev.to/yassersoliman/your-marketing-site-has-40-scripts-which-ones-are-actually-worth-keeping-1kp</link>
      <guid>https://dev.to/yassersoliman/your-marketing-site-has-40-scripts-which-ones-are-actually-worth-keeping-1kp</guid>
      <description>&lt;p&gt;Third-party scripts are easy to accumulate on a marketing website. A site might start with GA4 for analytics, a cookie banner, and a chat widget.&lt;/p&gt;

&lt;p&gt;A year or two later, the list can look very different.&lt;/p&gt;

&lt;p&gt;There’s a tag manager, heatmaps, session recordings, A/B testing, ad pixels, a CRM integration, a chatbot, a scheduling tool, a consent platform, embedded videos, social widgets, product analytics, and other tools.&lt;/p&gt;

&lt;p&gt;Each one had a reason to exist.&lt;/p&gt;

&lt;p&gt;The problem is that the browser doesn't care why you added it.&lt;/p&gt;

&lt;p&gt;It has to download, parse, and execute that code on a real visitor's device. Some third-party scripts consume CPU, compete for network resources, delay other work, or add work to the main thread. Chrome's performance guidance specifically calls out third-party code as a significant source of page-load and JavaScript costs.&lt;/p&gt;

&lt;p&gt;And that creates a problem that has very little to do with whether your marketing team &lt;em&gt;likes&lt;/em&gt; a particular tool.&lt;/p&gt;

&lt;p&gt;The question is whether the tool still earns its place on the website.&lt;/p&gt;




&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;Keep a third-party script when it has a clear business purpose, an identifiable owner, useful data or functionality, and a cost that makes sense for the pages where it runs.&lt;/p&gt;

&lt;p&gt;Remove it when nobody can explain why it exists, nobody uses the data it collects, another tool already does the same job, or its performance and maintenance cost are greater than its value.&lt;/p&gt;

&lt;p&gt;A practical way to evaluate every script is to ask:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What does this script do?&lt;/li&gt;
&lt;li&gt;Who actually uses what it provides?&lt;/li&gt;
&lt;li&gt;Does it affect leads, conversions, analytics, customer experience, or another measurable business outcome?&lt;/li&gt;
&lt;li&gt;Does another tool already cover the same job?&lt;/li&gt;
&lt;li&gt;Does it need to load on every page?&lt;/li&gt;
&lt;li&gt;What does it cost in performance, privacy, maintenance, and reliability?&lt;/li&gt;
&lt;li&gt;Who owns it?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you cannot answer those questions, the script deserves an audit.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Too Many Third-Party Scripts Become a Problem
&lt;/h2&gt;

&lt;p&gt;Third-party code is common on modern marketing websites. Analytics platforms, advertising tools, chat systems, consent management, testing platforms, embedded content, and other services often depend on JavaScript loaded from an external domain.&lt;/p&gt;

&lt;p&gt;That doesn't automatically make them bad.&lt;/p&gt;

&lt;p&gt;A script that sends important conversion data to your analytics platform can be worth its cost. A consent-management platform may be essential for how your site handles tracking. A scheduling widget may directly support your sales process.&lt;/p&gt;

&lt;p&gt;The problem starts when the list grows without anyone reviewing it.&lt;/p&gt;

&lt;p&gt;A marketer adds a new tool for a campaign. A developer installs its snippet. Another team adds a heatmap tool six months later. A redesign introduces a second analytics implementation. An agency adds its own tracking script. The campaign ends, but the script stays.&lt;/p&gt;

&lt;p&gt;Nothing looks broken.&lt;/p&gt;

&lt;p&gt;The website still loads. The forms still work. The analytics dashboard still has numbers in it.&lt;/p&gt;

&lt;p&gt;Meanwhile, the browser is doing more work every time someone visits the site.&lt;/p&gt;

&lt;p&gt;Chrome's Lighthouse documentation notes that third-party scripts can significantly affect page performance, including the amount of work performed on the browser's main thread.&lt;/p&gt;

&lt;p&gt;That matters even more on marketing websites because the third-party script list often grows through small, reasonable decisions rather than one obviously bad technical choice.&lt;/p&gt;

&lt;p&gt;The result is &lt;strong&gt;script bloat&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And script bloat is difficult to spot when you look at each tool separately.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Find Every Third-Party Script on Your Website
&lt;/h2&gt;

&lt;p&gt;Before deciding what stays and what goes, you need a complete inventory.&lt;/p&gt;

&lt;p&gt;This sounds simple until you actually do it.&lt;/p&gt;

&lt;p&gt;A script can be added directly to a page, injected through Google Tag Manager, loaded by a WordPress plugin, included by a Webflow integration, or introduced by another third-party tool. Looking at the page source alone may give you an incomplete picture.&lt;/p&gt;

&lt;p&gt;For a proper audit, I would check the website from several angles.&lt;/p&gt;

&lt;h3&gt;
  
  
  Start with the browser
&lt;/h3&gt;

&lt;p&gt;Open Chrome DevTools and go to &lt;strong&gt;Network&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Reload the page with the Network panel open, then filter by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;JS&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Fetch/XHR&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Img&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Doc&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The JavaScript filter is the obvious starting point, but don't stop there. A third-party tool may load JavaScript and then make additional requests through XHR or fetch.&lt;/p&gt;

&lt;p&gt;Look at the domains making those requests.&lt;/p&gt;

&lt;p&gt;You might find something you recognize immediately:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;www.googletagmanager.com
www.google-analytics.com
connect.facebook.net
snap.licdn.com
static.hotjar.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;You may also find domains that mean nothing to you.&lt;/p&gt;

&lt;p&gt;Those deserve investigation.&lt;/p&gt;

&lt;p&gt;The goal at this stage isn't to decide whether a script is good or bad. You're building the inventory first.&lt;/p&gt;
&lt;h3&gt;
  
  
  Check your tag manager
&lt;/h3&gt;

&lt;p&gt;If the site uses Google Tag Manager, open the container and review every tag.&lt;/p&gt;

&lt;p&gt;Pay attention to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;tags that are still active&lt;/li&gt;
&lt;li&gt;tags with unclear names&lt;/li&gt;
&lt;li&gt;old campaign tags&lt;/li&gt;
&lt;li&gt;duplicate analytics tags&lt;/li&gt;
&lt;li&gt;tags firing on every page&lt;/li&gt;
&lt;li&gt;tags that were created for a temporary campaign&lt;/li&gt;
&lt;li&gt;tags owned by former employees or agencies&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Check your CMS and plugins
&lt;/h3&gt;

&lt;p&gt;If the website runs on WordPress or another CMS with integrations and plugins, check those too.&lt;/p&gt;

&lt;p&gt;A plugin may inject tracking code without anyone adding a script manually.&lt;/p&gt;

&lt;p&gt;This is one reason script audits should include the systems responsible for &lt;strong&gt;adding&lt;/strong&gt; code, not just the code itself.&lt;/p&gt;

&lt;p&gt;You may discover that the same service is being loaded through two different paths.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GA4 is configured directly in the CMS&lt;/li&gt;
&lt;li&gt;another GA4 implementation exists in GTM&lt;/li&gt;
&lt;li&gt;a plugin adds another tracking library&lt;/li&gt;
&lt;li&gt;a custom script sends additional events&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The result can be duplicate data and unnecessary browser work at the same time.&lt;/p&gt;


&lt;h2&gt;
  
  
  Measure the Cost of Third-Party Scripts
&lt;/h2&gt;

&lt;p&gt;Once you have the inventory, measure the actual impact.&lt;/p&gt;

&lt;p&gt;This is where Chrome DevTools and Lighthouse become useful. Core Web Vitals can also help you understand how performance issues affect the actual experience of visitors.&lt;/p&gt;

&lt;p&gt;Lighthouse has a dedicated third-party summary that helps identify third-party resources and the amount of main-thread work associated with them.&lt;/p&gt;

&lt;p&gt;You can also use Chrome DevTools to inspect individual requests and understand what happens when the page loads.&lt;/p&gt;

&lt;p&gt;Look at:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;request count&lt;/li&gt;
&lt;li&gt;transferred size&lt;/li&gt;
&lt;li&gt;resource size&lt;/li&gt;
&lt;li&gt;loading time&lt;/li&gt;
&lt;li&gt;JavaScript execution&lt;/li&gt;
&lt;li&gt;main-thread activity&lt;/li&gt;
&lt;li&gt;additional network requests&lt;/li&gt;
&lt;li&gt;when the resource starts loading&lt;/li&gt;
&lt;li&gt;whether it blocks or delays important work&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Don't obsess over one number.&lt;/p&gt;

&lt;p&gt;A 200 KB script isn't automatically worse than a 50 KB script. The smaller script could trigger several additional requests or perform expensive JavaScript work after it loads.&lt;/p&gt;

&lt;p&gt;Likewise, a script that takes a little time to load may still provide significant business value.&lt;/p&gt;

&lt;p&gt;The broader impact of website speed also matters when evaluating third-party code, especially on marketing sites where performance directly affects the user experience.&lt;/p&gt;

&lt;p&gt;You're looking for the &lt;strong&gt;cost-to-value ratio&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  Look for Duplicate Functionality
&lt;/h2&gt;

&lt;p&gt;One of the easiest wins in a script audit is finding tools that overlap.&lt;/p&gt;

&lt;p&gt;A growing marketing stack can accumulate several tools that solve almost the same problem.&lt;/p&gt;

&lt;p&gt;For example, you might have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GA4 for analytics&lt;/li&gt;
&lt;li&gt;another product analytics platform&lt;/li&gt;
&lt;li&gt;a heatmap tool&lt;/li&gt;
&lt;li&gt;a session-recording tool&lt;/li&gt;
&lt;li&gt;a CRO platform&lt;/li&gt;
&lt;li&gt;a separate event-tracking solution&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They aren't identical, but there may be significant overlap.&lt;/p&gt;

&lt;p&gt;The same thing can happen with tracking.&lt;/p&gt;

&lt;p&gt;You might find multiple systems tracking:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;page views&lt;/li&gt;
&lt;li&gt;form submissions&lt;/li&gt;
&lt;li&gt;CTA clicks&lt;/li&gt;
&lt;li&gt;video plays&lt;/li&gt;
&lt;li&gt;conversions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That creates two problems.&lt;/p&gt;

&lt;p&gt;First, you're paying for tools that may not all be necessary.&lt;/p&gt;

&lt;p&gt;Second, your team can end up with several versions of the same event and different numbers in different dashboards.&lt;/p&gt;

&lt;p&gt;That kind of inconsistency can make analytics harder to trust, especially when multiple tracking systems are collecting similar data.&lt;/p&gt;

&lt;p&gt;The technical cleanup can be easy.&lt;/p&gt;

&lt;p&gt;The organizational cleanup is usually harder.&lt;/p&gt;

&lt;p&gt;Someone needs to decide which system is the source of truth for each type of data.&lt;/p&gt;


&lt;h2&gt;
  
  
  Do Third-Party Scripts Need to Load on Every Page?
&lt;/h2&gt;

&lt;p&gt;This is one of the highest-value questions in the entire audit.&lt;/p&gt;

&lt;p&gt;A tool can be useful without needing site-wide access.&lt;/p&gt;

&lt;p&gt;Consider a scheduling widget.&lt;/p&gt;

&lt;p&gt;If its only purpose is to let visitors book a call, loading it on every blog article may not make sense.&lt;/p&gt;

&lt;p&gt;The same applies to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;calculators&lt;/li&gt;
&lt;li&gt;interactive demos&lt;/li&gt;
&lt;li&gt;chat tools&lt;/li&gt;
&lt;li&gt;review widgets&lt;/li&gt;
&lt;li&gt;embedded videos&lt;/li&gt;
&lt;li&gt;campaign-specific tracking&lt;/li&gt;
&lt;li&gt;product-specific functionality&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A simple rule is useful here:&lt;/p&gt;

&lt;p&gt;If a script only supports one type of page, try to load it only where that functionality is needed.&lt;/p&gt;

&lt;p&gt;This can reduce unnecessary requests and JavaScript execution on pages that don't benefit from the tool.&lt;/p&gt;

&lt;p&gt;It also makes the website easier to reason about.&lt;/p&gt;

&lt;p&gt;When someone investigates a slow blog post six months from now, they won't have to wonder why it is loading a collection of sales and product widgets that have nothing to do with the article.&lt;/p&gt;


&lt;h2&gt;
  
  
  A Script Audit Should End With a Decision
&lt;/h2&gt;

&lt;p&gt;Once you've collected the data, every script should have a clear status.&lt;/p&gt;

&lt;p&gt;I like using five:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Keep&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The script provides meaningful business value, and its cost is justified.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Optimize&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The tool is valuable, but its loading behavior, implementation, or scope can be improved.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Restrict&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The tool is useful only on certain pages, for certain users, or after a specific interaction.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Replace&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The business needs the functionality, but another implementation may provide a better balance of functionality, reliability, and performance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Remove&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Nobody needs it, nobody owns it, or its value doesn't justify keeping it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjzixo7acabnvokz7bhvy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjzixo7acabnvokz7bhvy.png" alt="Each script should have a clear status, a reason, an owner, and an appropriate place in your user journey" width="800" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That final category is often smaller than people expect.&lt;/p&gt;

&lt;p&gt;The goal of a good audit isn't to delete half the website.&lt;/p&gt;

&lt;p&gt;It's to make sure every piece of third-party code has a reason, an owner, and an appropriate place in the user journey.&lt;/p&gt;


&lt;h2&gt;
  
  
  Consent Changes the Loading Strategy
&lt;/h2&gt;

&lt;p&gt;Privacy and consent requirements add another layer to script management.&lt;/p&gt;

&lt;p&gt;Not every tracking or marketing script should necessarily load in the same way for every visitor.&lt;/p&gt;

&lt;p&gt;Depending on the jurisdiction, consent configuration, and purpose of the technology, some third-party scripts may need to wait until the appropriate consent has been given. Google's &lt;a href="https://developers.google.com/analytics/devguides/collection/ga4" rel="noopener noreferrer"&gt;Consent Mode documentation&lt;/a&gt; explains how Google tags can adjust their behavior based on a user's consent choices.&lt;/p&gt;

&lt;p&gt;That means your audit should document:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;which scripts are strictly necessary&lt;/li&gt;
&lt;li&gt;which require consent&lt;/li&gt;
&lt;li&gt;what happens when consent is denied&lt;/li&gt;
&lt;li&gt;whether the consent platform actually controls the scripts&lt;/li&gt;
&lt;li&gt;whether tags can fire before the expected consent state&lt;/li&gt;
&lt;li&gt;whether the implementation matches your organization's privacy requirements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is another reason you shouldn't simply copy a list of scripts from one website to another.&lt;/p&gt;

&lt;p&gt;The technical implementation and the privacy requirements need to be considered together.&lt;/p&gt;

&lt;p&gt;A consent banner that exists visually while tracking scripts continue firing before the appropriate consent state isn't solving the underlying problem.&lt;/p&gt;


&lt;h2&gt;
  
  
  The Goal Isn't Fewer Scripts. It's a Website You Can Explain.
&lt;/h2&gt;

&lt;p&gt;A marketing website can have dozens of integrations and still be well managed.&lt;/p&gt;

&lt;p&gt;The problem isn't the number sitting in your inventory.&lt;/p&gt;

&lt;p&gt;The problem is when nobody can explain what those scripts do, why they load, who owns them, or what would happen if they disappeared.&lt;/p&gt;

&lt;p&gt;That's when your marketing stack starts becoming technical debt.&lt;/p&gt;

&lt;p&gt;A good WebOps process gives every integration a purpose and a place.&lt;/p&gt;

&lt;p&gt;It also gives the team a way to challenge old decisions.&lt;/p&gt;

&lt;p&gt;A tool that made perfect sense two years ago may not make sense today. A campaign may have ended. A new platform may have replaced an old one. A feature may have moved into another part of the stack.&lt;/p&gt;

&lt;p&gt;The website should evolve with those changes.&lt;/p&gt;

&lt;p&gt;And that brings us to the simplest rule I use for third-party scripts:&lt;/p&gt;

&lt;p&gt;If you can't explain the value, the owner, the scope, and the cost, it's time to investigate why the script is still there.&lt;/p&gt;


&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;
&lt;h3&gt;
  
  
  How many third-party scripts should a marketing website have?
&lt;/h3&gt;

&lt;p&gt;→ There is no universal number that defines a healthy website.&lt;/p&gt;

&lt;p&gt;A site with 10 scripts can have serious performance or tracking problems, while another site with 30 or 40 can be well managed.&lt;/p&gt;

&lt;p&gt;What matters is whether each script has a clear purpose, an owner, an appropriate loading scope, and a reasonable technical cost.&lt;/p&gt;

&lt;p&gt;Focus on understanding and controlling the script stack instead of chasing a specific number.&lt;/p&gt;
&lt;h3&gt;
  
  
  Do third-party scripts slow down a website?
&lt;/h3&gt;

&lt;p&gt;→ They can. Third-party scripts can add network requests, download JavaScript, consume CPU, execute code on the main thread, and trigger additional resources.&lt;/p&gt;

&lt;p&gt;The actual impact depends on the service, how it is implemented, when it loads, and what it does after loading.&lt;/p&gt;

&lt;p&gt;Tools such as Chrome DevTools and Lighthouse can help you identify which third-party resources are contributing to the work performed by the browser.&lt;/p&gt;
&lt;h3&gt;
  
  
  Should I remove Google Tag Manager to improve website performance?
&lt;/h3&gt;

&lt;p&gt;→ Not automatically. Google Tag Manager is a container that can load many different tags, so the performance impact depends heavily on what you put inside it.&lt;/p&gt;

&lt;p&gt;Removing GTM while leaving the underlying tracking requirements unresolved may simply move the problem somewhere else.&lt;/p&gt;

&lt;p&gt;Audit the tags inside the container first. Remove unused tags, eliminate duplicate tracking, restrict tags to relevant pages, and review how non-critical tags are loaded.&lt;/p&gt;
&lt;h3&gt;
  
  
  Should every marketing script load on every page?
&lt;/h3&gt;

&lt;p&gt;→ No. A script should generally load wherever its functionality or measurement is actually needed.&lt;/p&gt;

&lt;p&gt;A scheduling tool may only be necessary on pages where visitors can book a meeting. A product demo widget may only belong on product pages. A campaign-specific tracking script may only be relevant during a particular campaign.&lt;/p&gt;

&lt;p&gt;Reducing unnecessary site-wide loading can improve performance while keeping the functionality your marketing team actually needs.&lt;/p&gt;
&lt;h3&gt;
  
  
  How often should I audit third-party scripts?
&lt;/h3&gt;

&lt;p&gt;→ For many B2B SaaS websites, a quarterly review is a sensible starting point.&lt;/p&gt;

&lt;p&gt;You should also review the script inventory after major website changes, migrations, new marketing tools, tracking architecture changes, or campaigns that introduce temporary integrations.&lt;/p&gt;

&lt;p&gt;The exact frequency depends on how quickly the website and marketing stack change.&lt;/p&gt;


&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Having less scripts in your marketing site shouldn’t be just a goal in itself. Your site must utilize a technology stack that your marketing team is familiar with and can justify. &lt;/p&gt;

&lt;p&gt;Each and every third-party script must justify its right to exist through efficiency of its business function, prevail scope, and the known owner. &lt;/p&gt;

&lt;p&gt;Next time you find dozens of third-party requests present in DevTools, don’t ask yourself how to get rid of them. Instead, try to find out which requests actually has the right to exist.&lt;/p&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Thanks for reading! 🙏🏻 &lt;br&gt; I hope you found this useful ✅ &lt;br&gt; Please react and follow for more 😍 &lt;br&gt; Made with 💙 by &lt;a href="https://dev.to/hadil"&gt;Hadil Ben Abdallah&lt;/a&gt;
&lt;/th&gt;
&lt;th&gt;
&lt;a href="https://www.linkedin.com/in/hadil-ben-abdallah/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu48q29oef3l4a6eow30h.png" alt="LinkedIn" width="40" height="40"&gt;&lt;/a&gt; &lt;a href="https://github.com/Hadil-Ben-Abdallah" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhuvszgj6eun7xfvnwv51.png" alt="GitHub" width="50" height="50"&gt;&lt;/a&gt; &lt;a href="https://x.com/hadilbnabdallah" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F53x550t83v5ner74xkxo.jpg" alt="Twitter" width="40" height="40"&gt;&lt;/a&gt;
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;


&lt;div class="ltag__user ltag__user__id__1209000"&gt;
    &lt;a href="/hadil" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=150,height=150,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1209000%2Fb29d37d8-2efe-4391-9796-a6f8a483f1bd.png" alt="hadil image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/hadil"&gt;Hadil Ben Abdallah&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/hadil"&gt;Software Engineer • Technical Writer (300K+ readers &amp;amp; 25K+ followers) • Trusted by 20+ startups and tech companies worldwide
I turn brands into websites people 💙 to use&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;



</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>performance</category>
    </item>
  </channel>
</rss>
