Marketing Funnel

[ maar-kuh-tuhng fuh-nuhl ]

A marketing funnel is a process used by marketers to track the progress of a potential customer as they move from awareness of a product to service or purchase. It is also known as the sales or purchase funnel. Marketing teams use it to visualise and track the customer journey from initial awareness to purchase. By understanding what happens at each stage of the funnel, marketers can develop strategies to target their audience better and move them through to the next stage of the funnel.

The funnel comprises four stages: awareness, interest, decision, and action. It can plan marketing campaigns, track leads, and measure conversions. The marketing funnel can also be used to understand the customer journey for other types of products and services.

Simplify Your Social Media Strategy.

With Social Champ, effortlessly apply the best practices you’ve just learned. Schedule posts, analyze performance, and engage with your audience—all in one place.

Free 14-Day Trial

<script>
document.addEventListener('DOMContentLoaded', function() {
    function transformTablesForMobile() {
        if (window.innerWidth > 767) return; // Only for mobile
        
        const tables = document.querySelectorAll('#brxe-qvtevz table');
        
        tables.forEach(table => {
            if (table.classList.contains('transformed')) return;
            
            let headers = [];
            const thead = table.querySelector('thead');
            const tbody = table.querySelector('tbody');
            
            // Get headers - check for both th and td in thead
            if (thead) {
                const headerRow = thead.querySelector('tr');
                if (headerRow) {
                    // First try th, then td
                    let headerCells = headerRow.querySelectorAll('th');
                    if (headerCells.length === 0) {
                        headerCells = headerRow.querySelectorAll('td');
                    }
                    headers = Array.from(headerCells).map(cell => cell.textContent.trim());
                }
            } else if (tbody) {
                // If no thead, take first row
                const firstRow = tbody.querySelector('tr');
                if (firstRow) {
                    let headerCells = firstRow.querySelectorAll('th');
                    if (headerCells.length === 0) {
                        headerCells = firstRow.querySelectorAll('td');
                    }
                    headers = Array.from(headerCells).map(cell => cell.textContent.trim());
                }
            }
            
            // Return if no headers found
            if (headers.length === 0) return;
            
            // Get all data rows
            const rows = Array.from(tbody.querySelectorAll('tr'));
            const dataRows = rows; // All tbody rows are data rows when thead exists
            
            // Create new structure
            const newContainer = document.createElement('div');
            newContainer.className = 'mobile-table-container';
            
            // Create a section for each column
            headers.forEach((header, colIndex) => {
                const columnSection = document.createElement('div');
                columnSection.className = 'mobile-column-section';
                
                const columnHeader = document.createElement('div');
                columnHeader.className = 'mobile-column-header';
                columnHeader.innerHTML = header; // Use innerHTML to preserve formatting
                columnSection.appendChild(columnHeader);
                
                const columnList = document.createElement('div');
                columnList.className = 'mobile-column-list';
                
                dataRows.forEach(row => {
                    const cells = row.querySelectorAll('td');
                    if (cells[colIndex]) {
                        const item = document.createElement('div');
                        item.className = 'mobile-column-item';
                        item.innerHTML = cells[colIndex].innerHTML;
                        columnList.appendChild(item);
                    }
                });
                
                columnSection.appendChild(columnList);
                newContainer.appendChild(columnSection);
            });
            
            table.style.display = 'none';
            table.classList.add('transformed');
            table.parentNode.insertBefore(newContainer, table.nextSibling);
        });
    }
    
    transformTablesForMobile();
    
    // Handle window resize
    let resizeTimer;
    window.addEventListener('resize', function() {
        clearTimeout(resizeTimer);
        resizeTimer = setTimeout(function() {
            const containers = document.querySelectorAll('.mobile-table-container');
            const tables = document.querySelectorAll('#brxe-qvtevz table.transformed');
            
            if (window.innerWidth > 767) {
                containers.forEach(c => c.style.display = 'none');
                tables.forEach(t => t.style.display = 'table');
            } else {
                containers.forEach(c => c.style.display = 'block');
                tables.forEach(t => t.style.display = 'none');
            }
        }, 250);
    });
});
</script>
/* Sticky header for tables WITH thead */
#brxe-qvtevz table thead {
    background-color: #f0ebf8;
    position: sticky;
    top: 0;
    z-index: 2;
}

#brxe-qvtevz table thead th {
    background-color: #f0ebf8;
    position: sticky;
    top: 0;
}

/* Sticky header for tables WITHOUT thead (first row only) */
#brxe-qvtevz table:not(:has(thead)) tbody tr:first-child {
    background-color: #f0ebf8;
    position: sticky;
    top: 0;
    z-index: 2;
}

#brxe-qvtevz table:not(:has(thead)) tbody tr:first-child td,
#brxe-qvtevz table:not(:has(thead)) tbody tr:first-child th {
    background-color: #f0ebf8;
    position: sticky;
    top: 0;
}


/* Mobile Column Layout */
@media (max-width: 767px) {
 #brxe-qvtevz table{
    max-height:2000px;
  }
    .mobile-table-container {
        display: block;
        margin: 20px 0;
      border-radius: 12px;
      overflow: hidden;
    }
    
    .mobile-column-section {
        border: 1px solid #E0E0E0;
        overflow: hidden;
        background: white;
    }
    
    .mobile-column-header {
        background-color: #E3DFF5;
        padding: 15px;
        font-weight: bold;
        font-size: 16px;
        color: #333;
    }
    
    .mobile-column-list {
        padding: 0;
    }
    
    .mobile-column-item {
        padding: 15px;
        border-bottom: 1px solid #F0F0F0;
        background: white;
        font-size: 16px;
        line-height: 1.6;
    }
    
    .mobile-column-item:last-child {
        border-bottom: none;
    }
    
    .mobile-column-item:nth-child(odd) {
        background-color: #F7F6FC;
    }
    
    .mobile-column-item:nth-child(even) {
        background-color: #FAFAFA;
    }
    
    .mobile-column-item strong {
        color: #333;
        font-weight: 600;
    }
}

I am an SEO and a proud member of the the #ChampFam. You would find me optimizing landing pages and filling out excel sheets. When not working, I prefer to spend time with family or play cards with friends on the weekends.

Related Terms

“TBT” stands for “Throwback Thursday.” It’s a popular social media term used when someone shares an old photo, memory, or past experience, usually on… Read more

An impression is a metric that counts the number of times an advertisement, webpage, or content is displayed to a user. Unlike clicks, impressions… Read more

Image optimization involves reducing the file size of images without compromising quality to improve website performance and user experience. Optimized images load faster, enhancing… Read more

View All

A Simplified Social Media Management Tool

Social Champ is your AI-powered social media management tool.

Schedule, analyze, listen, and track competitors – all in one platform.

Try now, Start free
No credit card required!