AdsCalculator.xyz — Project Wiki

Live URL: https://adscalculator.xyz/
Repository: https://github.com/SlickFreekDesign/adscalculator-xyz
Local Path: D:\GitHub\adscalculator-xyz
Last Updated: 2026-06-18


1. Project Overview

AdsCalculator.xyz is a Jamstack static site built with Eleventy (11ty) that provides free digital marketing calculators and ROI tools. All calculations run client-side in the browser — no server processing.

Mission

Help marketers calculate ROI, ROAS, CPA, and other key metrics with free, fast, privacy-first tools.

Key Differentiators

Current Stats


2. Tech Stack

Layer Technology
Static Generator Eleventy 3.x (11ty)
Templating Nunjucks (.njk)
Styling Vanilla CSS (modular, concatenated at build)
Logic Vanilla JavaScript (ES6+)
Math Rendering MathJax 3
Testing Jest
Linting ESLint 9 + Prettier
Analytics Google Tag Manager
Hosting Cloudflare Pages + GitHub

CSS Design System


3. Project Structure

D:\GitHub\adscalculator-xyz\
├── .eleventy.js              # Eleventy config
├── package.json
├── wiki/                     # Project knowledge base
│   └── adscalculator-xyz.md  # This file
├── src/
│   ├── _data/
│   ├── _includes/
│   │   ├── layouts/
│   │   ├── sidebar.njk
│   │   └── footer.njk
│   ├── blog/                 # Blog posts (Markdown + PNG images)
│   │   ├── blog.json         # Shared frontmatter
│   │   └── <post-name>/
│   │       ├── index.md
│   │       └── <image>.png
│   ├── index.html            # Homepage (Bento Grid)
│   ├── *.html                # Calculator pages
│   └── glossary.html, faq.html, about.html, etc.
├── assets/
│   ├── main.js
│   ├── style.css             # Concatenated from style/ at build
│   ├── js/                   # Calculator JS files
│   └── ...
├── tests/
└── dist/                     # Build output

4. Calculators & Tools

Calculator URL Path Description
ROAS Calculator /roas-calculator/ Return on ad spend
E-commerce Profit /ecom-profit-calculator/ True ROI with all costs
ROI & LTV /roi-ltv-calculator/ Customer lifetime value
CPC Calculator /cpc-calculator/ Cost per click
CPA Calculator /cpa-calculator/ Cost per acquisition
Campaign Funnel /campaign-funnel-calculator/ Funnel metrics
Page RPM /page-rpm-calculator/ Revenue per mille
Break-Even ROAS /break-even-roas/ Minimum viable ROAS

5. Blog

Published Posts (30)

Title Date
5 Ways to Increase Your Website's Ad Revenue May 2025
7-Step Blueprint to a Profitable Online Business 2025
A/B Testing: Complete Guide (2025) 2026
Attribution Modeling: Complete Guide for 2025 2025
Beyond ROAS: A Guide to True Profitability 2025
Bounce Rate: What It Is, Why It Matters (2025) 2025
CRO: Complete Guide to More Conversions (2025) 2025
CPA & CPL: Ultimate Guide for 2025 2025
CPA vs ROAS: Which Metric Should You Optimize? 2025
CPM Benchmarks 2025: Deep Dive 2025
CPM vs CPC: Which Pricing Model Is Right 2025
CAC: Complete Guide (2025) 2025
Digital Marketing Calculators & True ROI 2025
How to Calculate Email Marketing ROI 2025
How to Forecast Ad Revenue 2025
ROAS vs ROI: Complete Guide 2025
Page RPM: Ultimate Metric for Publishers 2025
How to Build an AI Marketing Funnel (2025) 2025
Influencer Marketing: Complete Guide (2025) 2025
Marketing Budget Planning: Complete Guide (2025) 2025
Marketing Efficiency 2025 2025
LTV to CPA Ratio for Sustainable Growth 2025
PPC Advertising: Complete Guide (2025) 2025
TikTok Ads Cost Calculator (2025) 2025
Social Media Engagement Rate (2025) 2025
Break-Even ROAS: Most Important Number 2026
25 Marketing KPIs & Metrics (2026) 2026
Google Ads vs Facebook Ads (2026) 2026
Customer Lifetime Value (CLV) (2026) 2026
Retargeting Explained (2026) 2026

Blog Post Format

Blog Content Style Guide


6. Conventions

CSS

Commits

Build

npx @11ty/eleventy          # Build
npx @11ty/eleventy --serve  # Dev server
npx jest                     # Tests

Testing after every change:

npx @11ty/eleventy && npx jest

Image Generation

# SVG → PNG via sharp (in project dir)
node -e "require('sharp')(Buffer.from(require('fs').readFileSync('blog/dir/name.svg'))).png().toFile('blog/dir/name.png').then(()=>console.log('done'))"

Tool Quirks


7. SEO & Monetization

Goals

Cross-links

GTM


8. Relationship to OddsCalculator.xyz


9. Lessons Learned

Date Lesson
2026-06 patch tool "Escape-drift": use write_file for complex HTML with quotes
2026-06 CSS @import unreliable in production: concatenate at build time
2026-06 SVG → PNG: sharp works for PNG/JPG but some SVG inputs cause "corrupt header" errors — keep SVG simple
2026-06 replace_all in patch causes cascading corruption
2026-06 Blog posts need both ogImage (for social) and featuredImage (for blog listing) — always PNG

10. TODOs & Future Ideas