Business buyers are different from individual consumers. They're spending company money, managing professional risk, and answering to stakeholders. Your leak strategy for B2B must address these realities. The trust-building process takes longer, but the rewards are greater.

B2B buyers rarely purchase impulsively. They research, compare, and consult colleagues before deciding. Your leaks must support this journey by providing the information they need at each stage. When done right, your content becomes part of their research process and positions you as the obvious choice.

B2B

Understanding the B2B Buyer Journey

B2B buyers follow a structured journey. They begin with problem identification, then research potential solutions, evaluate options, and finally make a decision involving multiple stakeholders. Your leaks must support each stage with appropriate content.

Stage 1: Problem Identification

Leak content that helps buyers recognize and understand their problem. Share industry research, common challenges, and the cost of inaction. At this stage, you're not selling solutions; you're helping them see they have a problem worth solving.

Stage 2: Solution Research

Leak content that explores solution approaches. Share frameworks, methodologies, and case studies. Help them understand what a good solution looks like. Position your approach as one of the viable options.

Stage 3: Evaluation

Leak content that helps them evaluate options. Share comparison frameworks, evaluation criteria, and detailed case studies with metrics. Provide the information they need to build a business case.

Stage Content Focus
Problem ID Research, challenges, costs
Research Frameworks, methodologies

Building Professional Authority

B2B buyers bet their careers on the vendors they choose. They need to trust that you're credible, reliable, and low-risk. Your leaks must demonstrate professional authority through depth, evidence, and professionalism.

Depth Over Breadth

B2B audiences value deep expertise. Go deep on specific topics rather than covering everything superficially. A comprehensive whitepaper on one topic builds more authority than ten superficial blog posts.

Evidence and Data

Support your claims with data. Share research, case studies with metrics, and client results. B2B buyers need evidence to justify their decisions to stakeholders. Provide the ammunition they need.

  • Deep expertise: Specialize and go deep
  • Evidence: Data, metrics, case studies
  • Professionalism: Polished, credible presentation

LinkedIn as Primary B2B Leak Channel

LinkedIn is the dominant platform for B2B content. Your leaks here should prioritize professional value and industry insight. Long-form posts, articles, and documents perform well. Engage in comments to build relationships with potential buyers.

Use LinkedIn's document feature to share PDFs directly in the feed. A well-designed whitepaper or case study can generate significant engagement and leads. Follow up with connection requests to move relationships forward.

LinkedIn B2B Leak Strategy:
- Post 3-4x weekly with insights
- Share 1 long-form article weekly
- Create 1 document/case study monthly
- Engage meaningfully in comments
- Connect with engaged readers
  

Lead Magnets for B2B

B2B lead magnets should reflect professional needs. Whitepapers, research reports, benchmarking studies, and ROI calculators work well. These assets provide the depth and evidence B2B buyers require while capturing their contact information.

Gate your most valuable content behind forms. A comprehensive industry report is worth an email address. But ensure the content delivers on its promise; disappointing gated content damages credibility.

Nurturing B2B Leads

B2B sales cycles are longer. Your email nurture must sustain engagement over months. Provide ongoing value through insights, research, and case studies. Gradually introduce your offers as buyers move through their journey.

Segment your list based on engagement and interests. Send different content to different segments. Track which content leads to meetings or sales. Refine your nurturing based on what works.

Sales Conversations From Leaks

Eventually, leaks lead to conversations. When a prospect reaches out, they're already educated about their problem and your approach. Your job is to understand their specific situation and determine if your solution fits.

Ask good questions. Listen more than you talk. Customize your approach to their needs. Your leaks have done the heavy lifting; now close by being helpful and authentic.

If you serve B2B clients, review your current content through their journey. Are you providing the information they need at each stage? Are you building the professional credibility they require? Adjust your leak strategy to serve business buyers and watch your pipeline grow.

Designing Custom Layouts and Filters for Jekyll Collections

Why Custom Layouts and Filters Matter in Jekyll Projects

Once you start organizing your Jekyll content with collections, the next natural step is controlling how those collections are presented. Instead of using a one-size-fits-all layout, custom layouts tailored to each content type improve usability, design, and structure.

In tandem with custom layouts, Liquid filters allow you to sort, group, and transform content dynamically in your templates. This article walks you through real-world examples for combining both techniques to build elegant and flexible sites.

Case Study: Creating a Multi-Level Tutorial Platform

Imagine you're building a tutorial platform where each tutorial has:

  • A level (beginner, intermediate, advanced)
  • An estimated reading time
  • A difficulty badge and progress bar

Your goal is to create a custom layout that highlights this metadata and displays it consistently across the entire _tutorials collection.

Step 1: Define Custom Layout for the Collection

Start by creating a new layout file: _layouts/tutorial.html

{% raw %}

  
    
    {{ page.title }}
    
  
  
    

{{ page.title }}

{{ page.difficulty | capitalize }}

Reading Time: {{ page.reading_time }} min

{{ content }}
{% endraw %}

This layout introduces structured display of metadata using front matter like difficulty and reading_time. You can further enhance this by using custom Liquid filters.

Step 2: Apply the Layout in a Collection Item

---
title: Mastering Liquid Filters
difficulty: advanced
reading_time: 7
layout: tutorial
---

With just these three fields, your tutorial file gets a fully branded and styled layout. You can even customize styles with CSS based on .badge-advanced, .badge-beginner, etc.

Step 3: Filter Tutorials on the Listing Page

On your tutorials.html page, you may want to group or highlight tutorials based on difficulty:

{% raw %}

Advanced Tutorials

    {% for tut in site.tutorials %} {% if tut.difficulty == "advanced" %}
  • {{ tut.title }} ({{ tut.reading_time }} min)
  • {% endif %} {% endfor %}
{% endraw %}

This is basic filtering logic using built-in Liquid conditionals. But let’s take this further.

Using Custom Liquid Filters (Advanced Technique)

Jekyll doesn’t support custom Liquid filters on GitHub Pages unless you use plugins locally. But you can emulate filter-like behavior by using assign, where, and sort.

Sorting by Reading Time

{% raw %}{% assign sorted_tuts = site.tutorials | sort: "reading_time" %}
{% for tut in sorted_tuts %}
  
  • {{ tut.title }} - {{ tut.reading_time }} minutes
  • {% endfor %}{% endraw %}

    Grouping by Difficulty

    {% raw %}{% assign levels = "beginner,intermediate,advanced" | split: "," %}
    {% for level in levels %}
      

    {{ level | capitalize }}

      {% for tut in site.tutorials %} {% if tut.difficulty == level %}
    • {{ tut.title }}
    • {% endif %} {% endfor %}
    {% endfor %}{% endraw %}

    This allows for structured group display without requiring hard-coded blocks per difficulty level.

    Combining with Front Matter Defaults

    To reduce repetition, you can predefine default front matter for tutorials in _config.yml:

    defaults:
      - scope:
          path: "_tutorials"
        values:
          layout: tutorial
          difficulty: intermediate
    

    Now you only need to override values when necessary in the individual tutorial files.

    Case Study: Portfolio Projects with Custom Layouts

    If you have a portfolio collection, each project can have a unique layout showing:

    • Tags (e.g., "React", "Node.js")
    • Screenshots in a gallery
    • A GitHub or live demo link

    Example front matter:

    ---
    title: Weather Dashboard
    tags: [React, API]
    screenshots:
      - /img/weather-1.png
      - /img/weather-2.png
    github: https://github.com/user/weather
    layout: project
    ---

    In _layouts/project.html:

    {% raw %}

    {{ page.title }}

      {% for tag in page.tags %}
    • {{ tag }}
    • {% endfor %}
    {% for shot in page.screenshots %} Screenshot {% endfor %}
    {% if page.github %} View on GitHub {% endif %}{% endraw %}

    This dynamic layout makes it easy to standardize how project content is presented while still allowing for variation in fields.

    Client-Side Filtering Using JSON and Liquid

    To add client-side interactivity without a JavaScript framework, you can generate a JSON file from your collection:

    # _plugins/json-generator.rb (for local builds)
    require 'json'
    module Jekyll
      class JSONGenerator < Generator
        safe true
    
        def generate(site)
          tutorials = site.collections['tutorials'].docs.map do |doc|
            {
              title: doc.data['title'],
              url: doc.url,
              difficulty: doc.data['difficulty'],
              reading_time: doc.data['reading_time']
            }
          end
    
          File.open('tutorials.json', 'w') do |f|
            f.write(JSON.pretty_generate(tutorials))
          end
        end
      end
    end

    Now use JavaScript to fetch and filter tutorials dynamically on the frontend.

    Conclusion

    Custom layouts and Liquid filters unlock the full potential of structured content in Jekyll. By tailoring the layout and behavior of each collection type, you not only improve user experience but also gain editorial control and scalability for your site.

    In the next article, we’ll go even deeper and explore how to build an interactive search interface for collections using client-side JavaScript and JSON output, while still maintaining a fully static GitHub Pages deployment.