body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
line-height: 1.6;
color: #333;
max-width: 800px;
margin: 0 auto;
padding: 20px;
}
.calculator-wrapper {
background: #f8f9fa;
border: 1px solid #e9ecef;
border-radius: 8px;
padding: 30px;
margin-bottom: 40px;
box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}
.calc-title {
text-align: center;
margin-bottom: 25px;
color: #2c3e50;
font-size: 24px;
font-weight: 700;
}
.input-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
margin-bottom: 20px;
}
@media (max-width: 600px) {
.input-grid {
grid-template-columns: 1fr;
}
}
.input-group {
display: flex;
flex-direction: column;
}
.input-group label {
font-weight: 600;
margin-bottom: 8px;
font-size: 14px;
color: #495057;
}
.input-group input {
padding: 12px;
border: 1px solid #ced4da;
border-radius: 4px;
font-size: 16px;
transition: border-color 0.15s ease-in-out;
}
.input-group input:focus {
border-color: #007bff;
outline: 0;
}
.input-hint {
font-size: 12px;
color: #6c757d;
margin-top: 5px;
}
.calc-btn {
width: 100%;
padding: 14px;
background-color: #007bff;
color: white;
border: none;
border-radius: 4px;
font-size: 18px;
font-weight: 600;
cursor: pointer;
transition: background-color 0.2s;
margin-top: 10px;
}
.calc-btn:hover {
background-color: #0056b3;
}
.results-container {
margin-top: 25px;
background: white;
border-radius: 6px;
border: 1px solid #dee2e6;
padding: 20px;
display: none;
}
.result-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #eee;
}
.result-row:last-child {
border-bottom: none;
}
.result-label {
color: #495057;
font-weight: 500;
}
.result-value {
font-size: 20px;
font-weight: 700;
color: #28a745;
}
.result-main {
text-align: center;
padding: 15px 0;
background-color: #e8f5e9;
border-radius: 4px;
margin-bottom: 15px;
}
.result-main .main-label {
display: block;
font-size: 14px;
text-transform: uppercase;
letter-spacing: 1px;
color: #1e7e34;
margin-bottom: 5px;
}
.result-main .main-value {
font-size: 36px;
font-weight: 800;
color: #1e7e34;
}
.content-section h2 {
color: #2c3e50;
border-bottom: 2px solid #007bff;
padding-bottom: 10px;
margin-top: 40px;
}
.content-section h3 {
color: #34495e;
margin-top: 25px;
}
.formula-box {
background: #eee;
padding: 15px;
border-left: 4px solid #007bff;
font-family: monospace;
margin: 15px 0;
}
table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}
table, th, td {
border: 1px solid #ddd;
}
th, td {
padding: 12px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
function calculateViewRate() {
// Get input values
var impressions = parseFloat(document.getElementById('totalImpressions').value);
var views = parseFloat(document.getElementById('totalViews').value);
var cost = parseFloat(document.getElementById('totalCost').value);
var resultsDiv = document.getElementById('resultsDisplay');
// Validation
if (isNaN(impressions) || isNaN(views) || impressions impressions) {
alert("Note: Views cannot be higher than Impressions in a standard View Rate calculation.");
}
// Calculate View Rate (VTR)
var viewRate = (views / impressions) * 100;
// Calculate Cost Per View (CPV) and CPM if cost is provided
var cpv = 0;
var cpm = 0;
var hasCost = !isNaN(cost) && cost > 0;
if (hasCost) {
if (views > 0) {
cpv = cost / views;
}
cpm = (cost / impressions) * 1000;
}
// Calculate Goal (Hypothetical views needed for 50% VTR)
var goalViews = Math.ceil(impressions * 0.5);
// Update DOM
document.getElementById('viewRateResult').innerHTML = viewRate.toFixed(2) + '%';
if (hasCost) {
document.getElementById('cpvResult').innerHTML = '$' + cpv.toFixed(2);
document.getElementById('cpmResult').innerHTML = '$' + cpm.toFixed(2);
} else {
document.getElementById('cpvResult').innerHTML = 'N/A';
document.getElementById('cpmResult').innerHTML = 'N/A';
}
document.getElementById('goalResult').innerHTML = goalViews.toLocaleString();
// Show results
resultsDiv.style.display = 'block';
}
What is View Rate (VTR)?
The View Rate, often referred to as View-Through Rate (VTR), is a critical digital marketing metric that measures the percentage of people who watched your video ad after seeing it displayed. Unlike a standard Click-Through Rate (CTR) which measures clicks, the View Rate focuses on video engagement and retention.
This metric is commonly used on platforms like YouTube (TrueView ads), LinkedIn, and display networks to determine how compelling your video content is to your target audience. A high view rate indicates that your hook, thumbnail, and initial content are relevant to the viewers being targeted.
The View Rate Formula
To calculate the view rate manually, you simply divide the number of total views by the number of total impressions (times the ad was shown), and then multiply by 100 to get a percentage.
View Rate (%) = (Total Views / Total Impressions) × 100
Example: If your video ad generated 5,000 impressions and resulted in 1,200 views:
- Impressions: 5,000
- Views: 1,200
- Calculation: (1,200 / 5,000) = 0.24
- View Rate: 24%
View Rate vs. Completion Rate
It is important not to confuse View Rate with Video Completion Rate (VCR). While View Rate measures how many people started watching or watched a minimal threshold (e.g., 30 seconds) relative to how many saw the thumbnail, Completion Rate measures how many people finished the video out of those who started it.
What is a Good View Rate?
Benchmarks vary significantly by industry and platform, but general guidelines suggest:
| Platform / Format |
Average View Rate |
Good View Rate |
| YouTube Skippable Ads |
15% – 20% |
25% – 30%+ |
| YouTube Non-Skippable |
70% – 80% |
90%+ |
| LinkedIn Video Ads |
20% – 25% |
30%+ |
| Display Video |
10% – 15% |
20%+ |
How to Calculate CPV (Cost Per View)
While View Rate measures efficiency, Cost Per View (CPV) measures economy. This calculator includes an optional field for "Total Cost" to help you determine how much you are paying for every engaged viewer.
CPV = Total Ad Spend / Total Views
If you spent $500 on a campaign that generated 2,500 views, your CPV would be $0.20. Lowering your CPV usually involves improving your View Rate (getting more views for the same impressions) or refining your targeting to reach cheaper, more relevant audiences.
Tips to Improve Your View Rate
- Optimize the First 5 Seconds: On platforms like YouTube, you have seconds to hook the viewer before they skip. Put your most compelling visual or message immediately at the start.
- Refine Thumbnails: If counting organic views, the thumbnail is the primary driver of the click. Ensure high contrast and curiosity gaps.
- Targeting Accuracy: A low view rate often means the ad is being shown to the wrong people. Tighten your demographic or interest targeting.
- Native Formatting: Ensure your video fits the platform aspect ratio (e.g., 9:16 for TikTok/Reels, 16:9 for YouTube) to maximize screen real estate and attention.