CPM (Cost per Mile) measures the cost of advertising on a particular website. It is calculated by dividing the cost of the ad by the number of impressions (views) the ad receives. The higher the CPM, the more expensive the website is to advertise. It is a way to measure ad effectiveness. It is a metric used to calculate the cost of an ad campaign based on the number of miles driven by the target audience.
CPM is a valuable metric for businesses that want to know how effective their ad campaigns are in reaching their target audiences.
Example
For example, if an ad costs $200 and receives 2,000 impressions, the CPM would be $100. CPM is a popular pricing model because it is easy to calculate and understand.
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;
}
}