Where each figure comes from, how often we read it, how it's worked out, what's left out, and what to keep in mind. Every page shows the same facts in one line under its title.
Windows and comparisons
The five windows
Every page with figures over time offers the same choice: Today, 7d, 28d, 90d and 12m (365 days). Today is today so far: each blog's hours whose counts Google Analytics has finished, against the same hours of that blog's usual day, from its own hourly pattern over the last two weeks. Google Analytics runs hours behind on busy blogs and fills earlier hours late, so an hour counts only once its count has stopped changing between our 10-minute reads, or once the time that blog's hours usually take to settle has passed (learned from the last two weeks of reads). A blog with no settled hour yet is shown as awaiting today's data, never as below its usual. The others are complete days ending yesterday, in the network's day (US Mountain time). Search Console runs about 3 days behind, so its windows end on its newest day, and its "Today" is that day.
Comparisons
vs previous compares the window with the same number of days just before it. vs last year compares it with the same dates 52 weeks earlier, so a Monday is compared with a Monday. A comparison is made only when the store holds both periods whole: every day of each, for the blogs being compared. A period that includes today is never compared with a whole one. Otherwise there is no figure, and the page says "not yet comparable" with the reason.
What each page offers
A window a source can't serve is shown greyed out, with the reason on hover. Top stories are grouped over at most 28 days. Card coverage is read over 7 or 28 days. The pipeline timeline shows up to 28 days. Points values list each value's last 90 days.
Days and weeks
Up to 28 days, figures are day by day. For 90 days and 12 months, trending, search demand and the AI charts go week by week (Monday to Sunday, whole weeks only), from the weekly history described below.
History
Google Analytics reaches back 14 months: each blog's daily totals, and each week its top 50 pages, its visits by channel and by AI assistant. Search Console reaches back 16 months: each blog's daily totals, and each week its top 100 searches and pages. Only these daily and weekly totals are kept, never every row of every day.
Live now
Source
Google Analytics 4 Realtime: the people on each blog in the last 30 minutes.
How often
Every 10 minutes.
How it's worked out
We add up the network's active readers (rounded to the nearest 10) and keep only that total and shares of it: each blog's share, and the busiest pages' shares. A blog's own count is never kept or shown. Realtime reports page titles, not addresses, so each title is matched to the page with that title on the blog in the last few days, or to the blog's post with that title. Home, category and tag pages are left out.
Keep in mind
A blog that doesn't answer (no access, or its realtime allowance used up) is left out of that reading, and the strip says "live data for N of M blogs".
The Overview's figures
Network traffic index
For each day, the network's visits over its usual for that day of the week, times 100. A day's usual is each blog's median over its 12 same-weekday days before, added up across the blogs that have one. 100 is a usual day, 110 is 10% busier. A blog joining the coverage adds to both sides, so it doesn't move the line. The dashed line is the same index 52 weeks earlier, where the history reaches.
Posts per day
BoardingArea's feed keeps a rolling window of each blog's recent posts, so on older days the index holds only the quieter blogs' posts. We shade the days where it holds under 95% of the day's posting, weighing each blog by how much it posts lately. Posts are compared across periods only when both are whole.
This week in numbers
Up to eight sentences written from the data by fixed rules, not by a model: posts, the traffic index, the biggest move in an assistant's share, the top non-brand search topic, breakouts, the most unusual blog day, and what changed in the verified data. A sentence whose data is missing is left out.
Speed
Every page's figures are worked out ahead, not while you wait, and stored. Live now, the Overview, Trending and Status are recomputed every 10 minutes, for every window and comparison. The other pages are recomputed when their data changes (new posts, an analytics pass, the verified data's daily run), and at least every 3 hours. Each blog's scorecard, each topic page and each card's page are recomputed about hourly. A search, a question to Ask BoardingArea, or a filter the pages don't offer is worked out when you ask, and kept 5 minutes.
Posts (search, blog directory, latest posts)
Source
BoardingArea's own public post feed, the same one boardingarea.com is built from. Blogs aren't scraped.
How often
Every 30 minutes, we pick up new and edited posts.
How it's worked out
Each post links to the blogger's own site, never a BoardingArea redirect. We tag each post with the airlines, programs, card issuers, hotel groups and airports named in its title and opening paragraphs, and add topics (deals, reviews, trip reports…) from those names and keywords. A search ranks posts by how well they match, with a boost when every word is in the title and a gentle preference for newer posts. Browsing by topic lists the newest posts first.
Left out
Posts the blogger has deleted. Non-English blogs are left out of search unless you ask for them, but they're in the blog directory.
Keep in mind
BoardingArea's feed keeps each blog's recent posts, about 50 per blog on average (many more for a few busy blogs, a handful for quiet ones). This is a recent-posts index, not an archive. Each blog's history is complete from the day after its oldest post here; charts shade the days the index holds only in part.
Top stories: what the network is covering
Source
The same posts as above.
How often
Every 30 minutes, with the posts.
How it's worked out
Posts from the last 24 hours ("Today"), 7 days or 28 days are grouped into stories when their titles share distinctive words and they name the same airline, program, card or hotel. Stories are ranked by how many different blogs wrote about them; a story needs at least two.
Left out
Reviews, guides, how-tos, best-of lists and weekly roundups: they're not news.
How fast stories spread
The chart counts, for the five biggest stories, how many blogs had covered each by the end of each day. Each blog counts once, on the day of its first post.
Keep in mind
This measures what bloggers wrote about, not what readers read (see Trending). Grouping goes by wording, so two posts that describe the same news very differently can land in separate stories.
Trending with readers
Source
Google Analytics 4, read by BoardingArea's service account for each blog that has given it access (the line under each page's title says how many), and GA4 Realtime every 10 minutes.
How often
Every 3 hours (a full read at 00:00 and 12:00 UTC, today's figures in between). "Today" comes from the latest read, not live: see Live now for that. It counts only the hours whose counts Google Analytics has finished for each blog (read every 10 minutes), against the same hours of the blog's usual day.
How it's worked out
Every blog is judged against its own history, whatever its size. For each weekday we fit a count model to the blog's page views on up to 12 of that weekday before (a negative binomial, which allows for days that vary more than chance; Poisson when they don't). One or two past spikes are set aside so they don't set the usual day; three or more mean the blog itself changed, and they stay. A blog needs at least 4 such days before its posts are judged.
Breakouts
A post is a breakout on a day when both hold:
Its lift is 1.5× or more, with 90% confidence. The lift is the post's page views over its blog's expected day. We use the lower end of its 90% range, which allows for how much this blog's days usually swing and how much history it has. A few dozen extra readers on a tiny blog, or an ordinary swing on a volatile one, doesn't clear it; 80 readers on a blog whose usual day is 10 does.
5% or more of its blog's readers that day. This keeps out days when a whole blog surges and no one post is the reason.
They are ranked by that lower bound times the share. The only floor is 10 page views, so that a handful of readers can't make a lift. There is no floor on a blog's size.
What is shown
Each lift to one decimal (5.1×) and each share to a whole percent. The lower bound and how unusual the blog's day was (its z) decide who qualifies, but they aren't shown: with a lift, they would let anyone work out a small blog's page views, which we promise never to publish. BoardingArea staff see them in the workbench.
The breakout ledger
Every breakout is written down and kept: the day it first qualified, its peak, the last day its lower bound was still 1.5× or more, and its half-life once it fades (the days until its lift first falls to half its peak). The 7, 28 and 90 day views read from it and rank each breakout by its peak in the window, so nothing ever drops out of a window it peaked in. The whole ledger.
Rising now
Momentum, whatever the window: posts with more views in the last 6 hours than in the 6 before, gaining faster than their own blog over the same hours (with 90% confidence, so a blog's morning doesn't make every post rise), and with 3% or more of the blog's readers now (GA4 Realtime where it lists the post). Labelled "rising: 2.4× the previous six hours". When none qualify it says quiet; nothing is shown in their place.
Why
Every breakout, rising post and unusual blog-day has a one-line reason: the post's top source (named when it's FlyerTalk, Reddit, Google Discover or News, an AI assistant or a sister blog) and the channel that brought its blog's extra readers against the blog's usual mix for that weekday.
Trending across the network
Airlines, programs, cards, hotel groups, airports and topics, by their share of the network's attention. Each post's readers are first divided by its own blog's expected day, so a small blog's 8× counts exactly like a big blog's. An entity trends when the lower bound on its share against its 12 weeks before is over 1. Beside it: how many blogs wrote about it in the last 24 hours against its usual day, or "older pages" when nobody did and readers are on older posts. Each of its posts shows its part of the subject's attention.
The network index
How the average blog is doing against its own usual. Each blog's page views (automated views left out) are divided by its expected day, the same expected day trending uses; today counts only the hours whose figures have settled, against the share of a usual day those hours hold. The index is the geometric mean of those, with every blog counting once, so one small blog's big morning can't move it and One Mile at a Time counts no more than a blog a hundredth its size. English-language blogs only, as on Trending. This is also the figure the daily check judges before today's pages publish. It is not the Overview's traffic index, which adds up the network's visits so the big blogs weigh most, and covers settled days only.
Momentum score
The page's default order: a 0–100 score from the post's readers (the lower bound above), Realtime, Google search impressions (which run 2–3 days behind), AI-assistant referrals, how many blogs are covering its subject, and any spike from another site. Each is against the post's own usual, and the weights and reasons are published in the repository (data/trending-weights.json). Each list keeps its own rule for who is in it; the score only orders them. Open a row to see its bars.
Beside them
Blogs having an unusual day: blogs whose whole day was clearly off their usual, with 90% confidence (a lower bound of 1.25× or more, or an upper bound of 0.8× or less), each with the channel that moved it. Older posts resurging: posts outside our index or over 30 days old, not breakouts, that drew at least a whole usual day with 90% confidence and 3% of their blog's readers. Most read: each blog's own top post.
Is it fair to small blogs?
We replayed the rule over 14 months (Aug 2025 – Sep 2026, 83 blogs; the full report is docs/38 in the project's repository). Blogs are cut into ten size deciles of 8–9 blogs each. The largest decile holds 89.5% of the traffic, but earns 29.7% of breakouts. The bottom half holds 1.1% of the traffic and earns 49.9%, in proportion to its number. The old rule's size floors gave the smallest decile none.
Block L
Old rule, with its size floors
Each decile's share of blogs (about 10%)
Share of breakouts by blog size decile, smallest blogs on the left.The numbers
Size decile
Share of blogs
Share of traffic
Breakouts, Block L
Breakouts, old rule
1
10.8%
0.05%
3.8%
0.0%
2
9.6%
0.15%
22.0%
20.3%
3
9.6%
0.2%
6.0%
3.9%
4
10.8%
0.34%
7.7%
6.0%
5
9.6%
0.4%
10.4%
8.2%
6
9.6%
0.74%
6.6%
6.8%
7
10.8%
1.4%
1.6%
2.1%
8
9.6%
2.6%
5.5%
9.3%
9
9.6%
4.7%
6.6%
5.3%
10
9.6%
89.5%
29.7%
38.1%
Why 1.5
Against 90 post-days that a person labelled by hand (on 40 random days), the rule at 1.5 agrees with the labels 86% of the time (precision 0.84, recall 0.77), against 66% for the old rule. At 2.0 it misses 40% of real breakouts for three fewer false alarms. At 1.3 it scores about the same as 1.5, a difference too small to change the rule. What it still misses: viral days on the biggest, most volatile blogs, which swing 2–3× routinely. Rising and the unusual-day list still show those.
Quiet days
If fewer posts clear the bar than the page has room for, it shows fewer and says so ("Quiet: …"). On more than half of days in the replay there was no breakout at all.
Left out
Home, category and tag pages; more than 3 posts from any one blog.
Keep in mind
We only ever show ratios, never reader counts. "Page views" for a post are those in visits that began on it, as Google Analytics counts landing pages. Each day we keep each blog's top pages. Posts older than our post index still show, marked "older post", with the title Google Analytics has for them. 12 months is judged week by week, from each blog's weekly top 50 pages.
Read or skimmed
What it answers
Is a post that is trending also read, or only clicked? Google Analytics counts a visit as engaged when it lasts 10 seconds or more, sees two pages or more, or completes a key event. A post's engaged share is its engaged visits over all its visits.
Against what
Each blog's own usual: the median engaged share of its posts (each with five visits or more) on the same weekday over the last five weeks, or over all its days when a weekday has fewer than ten measured post-days. A blog with fewer than ten measured post-days has no usual yet and reads "not yet measured".
The labels
Read at 1.0× its blog's usual or more, skimmed at 0.7× or less, typical between. The ratio is shown to one decimal and not at all under 10 engaged visits; visit counts are never shown.
What it doesn't do
It describes a breakout; it never decides one. Who counts as trending is unchanged (the same rule, the same fairness test). On a blog page, "most read" ranks the last 28 days' posts by engaged visits, next to "most viewed".
Keep in mind
Visits that look automated are left out first. Measured from September 28, 2026, so for the first days most posts read "not yet measured". Today's figures are still filling in: Google Analytics finishes a day's engagement over a day or two, so a label for today can read a notch low (typical where tomorrow says read). Staff's content inventory shows Google's own engaged rate for visits that included a page; the hub's is for visits that began on it, so the two differ.
Views that look automated
What they are
Since September 21, 2026 some blogs have received many visits that come straight in (no link, no search) and don't engage: they leave within ten seconds, having seen one page. People who type a blog's address engage at 40–98%; these at 1–7%, concentrated in a few countries and devices. They look like automated traffic, not readers.
The rule
For each blog and day, its direct visits are grouped by country and device. A group of five or more visits that engage under 15% of the time is counted as automated; the smaller groups are judged together, so traffic spread thin over many countries is caught while a single reader who leaves quickly isn't.
What happens to them
They are left out of trending, the unusual-day list, the network indexes, entity attention and every blog's usual day, and each of those pages says so. They are never deleted: the raw count is kept beside them. A blog's page says what share of its views this week looked automated.
Marked by an editor
Some automated traffic engages: on July 27, 2026 a crawler from one country walked nineteen blogs a page at a time and waited on each page long enough to count as engaged. An editor can mark such a day as automated, with the reason recorded; it is then left out like the rest, and the notes say how many days in their window were marked by an editor.
Keep in mind
The rule was checked against the blogs whose traffic jumped and against large blogs whose traffic held: with the automated views left out, the jumps disappear and the readers remain. A blog whose readers really do spike keeps its spike. Days before a blog was first classified (about 90 days back) are counted as they were.
Where readers come from
Source
Google Analytics 4, each blog's visits by source, medium and channel (the kind of site that sent them), read at the two full analytics passes a day, and a year of weekly history.
How often
Twice a day (00:00 and 12:00 UTC). The figures cover the 28 days to the last day checked for automated visits, which is two days before today.
How it's worked out
Each source is put in a family: search, Google Discover, social, Reddit, FlyerTalk, newsletters, AI assistants, sister blogs (another BoardingArea blog or boardingarea.com), direct (typed in or bookmarked), other sites. The page shows each family's share of the network's visits and its change against the 28 days before. The referral graph shows each flow from one blog to another as a share of all the visits the blogs send each other.
Left out
Visits that look automated (see the next section) come off direct and unassigned visits. A blog's own site is never counted as a referral to itself. Flows under 0.1% of the network's referrals aren't drawn.
Keep in mind
Shares only, never visit counts. Each blog keeps its top 25 sources a day (and every sister blog); the rest are counted within their channel, so the families add up. Weeks before automated visits were first classified (about 90 days back) count them as direct.
Chart notes
A dot and dashed line on a chart marks something that happened that day: a story five or more blogs covered (the day's three biggest, added automatically each morning), or a note an editor added. A blog's charts also show that blog's own notes. Hover the day to read it.
The report
Source
The same stored Google Analytics 4 and Search Console figures as the rest of the hub: each blog's daily totals (14 months of Google Analytics, 16 of Search Console), and by channel, source, device, country and landing page, or search and page, by day for the last 35 days and by whole week for 14 months before that. Nothing on the page asks Google.
How often
As the analytics passes store new days (every 3 hours; Search Console about 3 days late). A window ends on the newest day the store holds for the blogs asked about.
How it's worked out
Google's own screens: the cards (visits, engaged visits, engagement rate, time per visit, views, users; or clicks, impressions, click-through rate, position), the day-by-day line beside the period or year before, and one breakdown at a time, each row with its change. For a group of blogs or the network the figures add up the blogs that hold every day of both windows (the page says how many), each row says which blogs it comes from, and two breakdowns only the network has: each blog's share, and the visits the blogs send each other. Above the network's report, every blog against its own usual: today, yesterday and the last 7 days, its last 28 days, how much of its traffic looks automated, and whether readers read or skimmed.
Left out
Visits that look automated (see Traffic quality). A breakdown older than 35 days covers whole weeks, and says which. Search Console's countries and devices aren't stored.
Keep in mind
Public figures are shares of the window's total, changes to a tenth (1.3×), ranks, rates and a day-by-day line where 100 is the window's average day (the comparison's line over its own average day), in steps of 10, never a count; a share of fewer than 20 visits or clicks, or a change from fewer than 10, isn't shown. BoardingArea staff see Google's own figures with a staff link. A window the store doesn't hold for every day says "not yet comparable" rather than guess. Landing pages, searches and pages are each day's top rows, so a page outside them some days reads a little low.
Two sources
Source
Google Analytics 4 and Clicky, two trackers most BoardingArea blogs run. Clicky is read with each site's own read-only key, from BoardingArea's Clicky account.
How often
Clicky's daily figures, top pages and sources at the two full reads a day; its hourly figures at every read (every 3 hours); a year of its history read back a month at a time. Always inside a daily limit of requests, checked before each one.
How it's worked out
The two count differently: Clicky counts visitors and actions with its own bot filter; Google Analytics counts sessions and views. Each blog's usual ratio of one to the other is learned from its recent days with both. A day outside that usual range is shown as "diverging": one tracker saw something the other didn't (a tracking break, a wave of automated visits one filters, a mis-tagged site). Where both cover a blog, the figures shown are Google Analytics', with a note saying whether Clicky agrees. A blog Google Analytics doesn't cover is judged from Clicky alone, and says so.
Left out
The two are never averaged or added together. Clicky's channels, devices and countries aren't used: they don't come in the same shape.
Keep in mind
Clicky's counts, like Google Analytics', are shown only to BoardingArea staff; public pages show shares, ratios and changes. Disagreement between the two trackers is information about the tracking, not a mistake in either.
What readers search for
Source
Google Search Console, read by BoardingArea's service account for each blog that has given it access.
How often
As new days land, checked every 3 hours. Google publishes a day's search figures about 3 days late, so the newest days are always missing.
How it's worked out
Searches are ranked by their Google clicks over the window (its newest day, 7 or 28 days from the daily figures; 90 days or 12 months from the weekly history, each blog's top 100 searches a week, without the page each lands on). For each we show its rank, its share of its blog's Google clicks, its change week over week (the newest 7 days against the 7 before, or "new"), its click-through rate and its average position, with the page it sends the most clicks to. Click and impression counts are never shown. Brand searches name the blog they land on (its name, its site, or initials like "omaat"), or BoardingArea. Non-brand searches are everything else: what readers are looking for. The page shows non-brand by default and counts both. A blog's name counts in the forms its readers use: "pra" and "para" (Pontos pra Voar), and its initials where they are its own ("PPV").
Topics over time
The lines show the airlines, programs, card issuers, hotel groups and airports named most in non-brand searches over the last 12 weeks, each as a share of those searches' clicks, week by week. A search naming two topics counts for both.
Left out
Searches outside each blog's top 50 search-and-page pairs a day, so the long tail is missing. Google also hides rare searches for privacy.
Keep in mind
The shares come from Google's own click counts in Search Console, which count differently from readers in Google Analytics. A search's share is of its blog's clicks from the pages Search Console lists, so shares from different blogs aren't comparable sizes.
Google's three surfaces
Source
Google Search Console, which reports three surfaces apart: web search (the results page), Discover (the feed in the Google app and on Android) and Google News. For the largest blogs Discover sends more readers than web search: View from the Wing had three Discover clicks for every web search click over three months.
How often
With web search: each day's totals and top pages for each surface as the day lands (about 3 days late), and each week's top pages. Sixteen months of history were loaded from September 29, 2026, a share a day.
How it's worked out
Each surface's clicks as a share of the blog's (or the network's) Google clicks, with its change against the period before; week by week, each surface's share of the week's clicks. The Search figures sum the three surfaces unless one is chosen; a figure is shown only where every surface it sums is held for every day (a blog whose Discover history hasn't loaded yet is left out, not counted as none).
Left out
Discover and Google News have no queries and no position: a card in a feed or a story has no rank and no search typed. Queries, and the position on every page, are web search's alone; a query's share is of web search's clicks. Each surface's top 50 pages a day (100 a week) are kept, as for web search.
Keep in mind
Click counts are never shown, only shares. Google Analytics counts Discover visits in its own way (often as Direct, since the app sends no referrer), so the acquisition page's Discover family and this split measure different things.
What AI assistants send readers to
Source
Google Analytics 4, as above: visits whose source is ChatGPT, Perplexity, Claude, Gemini or Copilot. Plain Bing search isn't counted.
How often
Every 3 hours, with the other analytics. Windows are complete days, ending yesterday (Today is today so far).
How it's worked out
Posts are ranked by visits from these assistants (the counts aren't shown). Each row shows the post's share of its blog's assistant visits, the change against the comparison period ("new" if it had none then), and which assistants sent them. The chart of shares over time goes day by day up to 28 days and week by week beyond, from the weekly history (14 months). The blogs grid shows each blog's assistant visits as a share of all its own visits, week by week: a blog against itself, so no blog's size shows.
Left out
Home, category and tag pages. Each day we keep the top 25 pages per blog, though every page counts toward the blog's total.
Keep in mind
Counts are small. Most posts get a few such visits a week, so a big change can be a handful of visits. Assistants often pass no source at all (apps, copied links), so this is a floor. Older posts show, marked "older post".
Attribution: who Ask BoardingArea cites
Source
This site's own record of the answers it gives, on the Ask page and through the BoardingArea Content connector.
How often
Live: every answer is recorded as it's given.
How it's worked out
For each answer, we record the date, the BoardingArea posts it cites, and a one-way fingerprint of the question, so repeats can be counted without keeping the question itself. Blogs are ranked by citations, with their share of all citations and their most-cited posts. This is the basis for per-blogger attribution.
Left out
The question itself and anything about who asked. Sources outside BoardingArea are never cited, so they never count.
Keep in mind
It counts this site's answers only. Other apps using the same answer service aren't included. A citation isn't a click; AI referrals is the click side.
Credit cards on BoardingArea
Source
BoardingArea's public post feed for the posts; Google Analytics, Search Console and this site's answer record for ranking the roundup pages.
How often
Posts every 30 minutes; the roundup ranking with the analytics, every 3 hours.
How it's worked out
We keep a list of about 120 US rewards cards, each under its issuer, and tag every post that names one (the longest name wins, so "Business Gold Card" is not also the Gold Card). A card's count is the posts naming it in the window, wherever in the post. Roundup pages are the bloggers' "best", "current" or "top" credit card offers (or bonuses) pages, ranked by their share of their blog's visits from AI assistants, Google clicks from searches that don't name the blog, and Ask BoardingArea citations.
Left out
Offer terms on this page: they live on Current offers, checked as described below. Cards not on our list, and posts that name only an issuer in passing.
Keep in mind
A post that names a card in passing counts toward it, so a busy card's count includes comparisons and news roundups. Post titles are shown as the bloggers wrote them.
Current card offers
Source
The pages that state offers: the BoardingArea bloggers' own offer pages (Frequent Miler, One Mile at a Time, View from the Wing), another published offer tracker as a cross-check, and the issuers' own product pages where their HTML states the offer. Each page is read once a day, obeying its robots.txt; nothing else is fetched.
How often
Daily, after the pages are read, and only when that day's accuracy check (re-reading two hand-checked pages and comparing) passes. A page whose text hasn't changed since we last read it isn't read again: what it said is re-affirmed with the day's date, so an unchanged page gives the same answer every day. A page that has changed is read twice, independently, and only what both readings agree on is kept; a card the page listed before gets one more, targeted look before it counts as gone.
Two offers
Each card has a public offer, the one the issuer's own page states (verified on its own), and a best offer: the offer two or more of those sources agree on, when it's a bigger bonus than the public one (the bloggers often have a better offer than the issuer shows everyone). Otherwise the best offer is the public offer. We lead with the best offer and show the public offer beneath it when they differ. When exactly one blogger reports something higher still, we say "one blogger reports a higher offer" and link to their page, without the figure: one source isn't enough to publish it.
The agreement rule
Two sources agree when every figure both of them state matches: the bonus, its unit (points and miles count as one; cash is separate), the minimum spend, the days to meet it and the annual fee. A figure one source leaves out is not a disagreement; the fuller source supplies it. A verified offer still needs its spend and its window from at least one agreeing source; without them it is partial. Sources are counted by publisher: two pages on the same site count once. An issuer's own page verifies its public offer by itself. A best offer from the trackers needs two or more of them agreeing; the figures are shown only for a verified offer. The annual fee shown is the issuer's where its page states one, otherwise the agreeing sources'.
Statuses
verified: shown. partial: the bonus is verified but its spend, its time or the steps behind "up to" weren't captured; the bonus is shown, marked "terms not captured". conflict: two or more sources, none agree; marked unit mismatch when one states points or miles and another cash, which is a wording difference rather than a dispute. reported: one BoardingArea blogger's page states it and they updated that page in the last 7 days; the figures are shown in their own section, labelled "reported by (the blog), not independently confirmed", and it isn't verified until a second source agrees. single: one source otherwise (a published source outside the network, or a blogger's page not updated in 7 days); no figures. stale: last verified more than 7 days ago and not since. editorial: set by BoardingArea's editors for at most 14 days, with the reason and end date shown; when it ends, the daily result returns. Verified, editorial and partial rows carry figures (partial: the bonus only).
The change rule
A shown offer changes only when the new value is itself verified. Until then the old value stays (while it's within 7 days of its last verification) and the new one is recorded as pending. Every change is kept in the card's history.
Tiered offers
When a page says "up to" or gives the bonus in steps, the headline is the top tier and the first tier is kept separately, with each step's spend and time. Two tiered offers agree only when both the top tier and the first tier match; a tiered offer never matches a flat one.
Evidence
Every figure comes with the exact words its page used, found in that card's own part of the page (after its name, before the next card's), the page's address and when we read it. A page counts for 3 days after it was last read with the same text.
Card features
From the same pages, read a second time for each card's annual fee, foreign transaction fee, lounge access (Priority Pass, the issuer's or airline's own lounges, or both), free night, TSA PreCheck / Global Entry credit, travel credit (a general yearly credit, not a hotel, dining or airline-fee one), elite status, the programs it earns and whether it is a personal or business card. Each feature needs its own quote from the page, in that card's part of it, that says it ("no foreign transaction fees", "Priority Pass"). A feature is shown when the card's own issuer page states it (that counts as two sources), or two or more trackers agree; one tracker alone is single, trackers that disagree are a conflict, and neither shows a value. A feature we can't verify is never guessed from the card's name or from similar cards, and the perk filters leave such a card out rather than assume it lacks the perk. No page is fetched twice: the features come from the pages already read for the offer.
Bonus level index
How generous the published offers are over time: each card's welcome bonus on each day against its own first published bonus in the window (in the same unit), averaged across the cards, times 100. A card counts on a day only when its offer that day was published (verified, terms not captured, or an editorial correction), so no figure we didn't publish is used. Each card's page also draws its published bonus over time, with gaps where nothing was published.
Where to apply
Always through a BoardingArea blogger who covers the card, listed with each offer and ranked by where readers and AI assistants already go. We never link to an issuer's application page; issuer pages appear only as evidence.
Keep in mind
Offers change without notice and some are targeted or limited to new customers. A verified offer is what several public pages said on its date: confirm the terms on the blogger's page before you apply.
Points and miles values
Source
Published valuations: Frequent Miler's reasonable redemption values and One Mile at a Time's valuations (BoardingArea bloggers), with The Points Guy and NerdWallet as outside cross-checks. The floor comes from each issuer's own page: the rate it states for a fixed redemption anyone can make (Chase: 1 cent a point as cash back; Amex: 1 cent a point on flights booked through Amex Travel; Hilton: 500 points to the dollar on Amazon). Each page is read once a day, obeying its robots.txt; nothing else is fetched.
How often
Daily, with the card offers, and only when that day's accuracy check passes. The floors are checked every day: the issuer's sentence, or its numbers, must still be on its page, otherwise the floor is marked "not confirmed today".
How it's worked out
For each currency, each source's latest figure (from a page read in the last 45 days), one per publisher. The value is their median; the spread is the highest minus the lowest. verified: two or more sources within 0.5 cents of each other. wide: two or more, further apart; the median is shown with the spread and every source's figure. single: one source; no market value is published. stale: last verified more than 60 days ago. Until a currency's market value is verified or wide, BoardingArea's own editorial value is shown, marked "editorial value", with the date our editors reviewed it. A value below the issuer's floor is flagged "below floor".
Over time
The small charts show each program's value day by day over 7, 28 or 90 days (a change holds until the next), with today's spread across the valuations shaded.
Left out
Figures a source gives as a range, and currencies no source values. A source that gives two different figures for one currency isn't counted for it. NerdWallet's credit card table isn't used: its columns aren't labelled in the page.
Keep in mind
These are typical values for good redemptions, not offers or guarantees: your own redemption can be worth more or less. The floor is the least a point is worth if you take the issuer's fixed option. Checking a specific redemption compares its cents per point with the floor and the value; it doesn't tell you what to do.
Transfer bonuses
Source
The transfer-bonus pages of Frequent Miler and Miles to Memories (BoardingArea bloggers), read once a day, obeying robots.txt. No bank publishes its current bonuses on a public page we can read; when one does, its own page will count on its own.
How often
Daily, with the card offers, and only when that day's accuracy check passes.
How it's worked out
Each bonus is one "from" currency and one partner: a line naming several partners ("Hilton and Marriott") counts once for each. A bonus is shown when two or more sources state the same percent, and the same end date where both give one. It is shown until its end date. One with no end date is marked stale two weeks after it was first seen, since we can't tell whether it's still running. Each shown bonus lists the BoardingArea posts about it from the last 30 days.
Left out
Bonuses only one source lists, and ones the sources list differently: they are named, without figures, under "Not currently verifiable". Bonuses the pages list as ended.
Keep in mind
Banks can end a bonus early or target it to some members. Read the blogger's post before you transfer: transfers usually can't be undone.
Loyalty promotions
Source
The network's promotions tracker pages, read once a day, obeying robots.txt: Frequent Miler's list of current hotel promotions and Points Miles and Bling's status-match roundup (BoardingArea bloggers), with AwardWallet's hotel promotions roundup as an outside cross-check (named as a source, never linked). They were found from our own data: the pages readers land on from Google for "status match" and "promotions", and the pages network posts link to. Pages that were stale (not changed in 60 days), a blog's front page, or not a list were left out, and the programs' own promotions pages either show nothing to a logged-out reader or refuse us.
How often
Daily, with the card offers, and only when that day's accuracy check passes.
How it's worked out
Each page is read twice for its current promotions: the program, what it gives, whether you must register, and its dates, each kept only when the words on the page say it (a date only when the quote states it; "register first" only when the quote says so). Promotions a page lists as expired are skipped, and any whose end date has passed are rejected. Two statements are the same promotion only when they describe the same offer: the same program and kind, end dates within three days where both give one, no figures that disagree (10,000 points is not 20,000), a figure in common, and the same words for what it is: where, which brand, for whom. "2X points" at one brand and "2X points" on dining elsewhere are two promotions, each listed by one source. A promotion is verified when two or more sources list it, or the program's own page does. It expires on its end date; one with no end date goes stale 14 days after it was first seen.
Kinds
Bonus: points, miles, nights, credits or discounts. Status match: a program matching status you hold elsewhere. Fast track: a status challenge. The kind is read from the words, not guessed.
Left out
Promotions only one source lists are named under "Listed by one source", not as verified. Programs outside our dictionary (many airlines' status matches) go to our review queue, not the page.
Keep in mind
Many promotions need registration before the stay, and some are targeted. Read the blogger's post before you book.
Deal alerts
Source
The network's posts in our index: BoardingArea's deals topic (its own tag, or our rules), and posts whose title names award space, a mistake fare, a sweet spot or a sale.
How it's worked out
Each post's kind comes from the words of its title (and, for award space and mistake fares, its opening). Newest first by when our index first saw the post: the refresh runs every 30 minutes and records the first sighting of each new post. Posts loaded before sightings were kept (2026-09-23) show their publish time instead, and say so.
Keep in mind
Nothing here is priced or checked. Fares and award space change within hours: read the blogger's post before you book.
Comparing reviews
Source
The network's posts in our index about the cabin products we track (United Polaris, Delta One, American's Flagship Suite, British Airways' Club Suite, Qatar's Qsuite, JetBlue Mint, Lufthansa Allegris).
How it's worked out
A post counts as a review of a product when its title reports on a flight (a review, a first look, a trip report, "flying"), isn't a roundup or a lounge or hotel review, and names the product; or names its airline, with the product in the opening, and no other cabin ("First Class") in the title. For each product: how many reviews, which blogs, the newest, and in each post the first sentence of its text that names the product, word for word.
Keep in mind
Nothing is summarized or scored: the sentences are the bloggers' own words, and the comparison is theirs to make, through the linked reviews. Our index holds each blog's recent posts (about 50 per blog on average).
Lounges at an airport
Source
The network's posts in our index that name the airport in the title or opening and a lounge in the title: reviews, first looks and guides. A post whose title names a different airport (a trip that began here and reviews a lounge elsewhere) is left out.
How it's worked out
Posts are grouped by the lounge their title names ("Delta Sky Club", "Chase Sapphire Lounge by The Club"), read from the title's own words; posts that name no single lounge are listed as guides. Newest first.
Access
Which ways in a lounge's posts mention (Priority Pass, an Amex Centurion, a Chase Sapphire lounge, Capital One, an airline's club). It is what the bloggers wrote, not an entry rule we checked: confirm access and guest rules in the review.
Keep in mind
Our index holds each blog's recent posts (about 50 per blog on average), so older reviews aren't here. The same lounge can be written different ways in titles, which splits it.
Hotel verdicts
Source
RoomExpert (roomexpert.com, a BoardingAI product), read through its public MCP: a hotel's score out of 100 on eight axes (room, bed & sleep, bathroom, noise, service, food, location, value), what each is based on (guest ratings or quotes read), its points line, and quotes from the reviews it read. Beside it, the network's posts that name the hotel, from our index.
How often
When a hotel is asked about; an answer is kept for 24 hours, and at most 500 requests go to RoomExpert a day.
How it's worked out
RoomExpert finds a hotel by its name written as a slug, so a few spellings are tried. One is accepted only when RoomExpert's hotel is the one asked for: a near name that is another property (the Towers of the Waldorf Astoria for the Waldorf Astoria New York) is refused, and the answer says RoomExpert has no page for the hotel.
Keep in mind
Each quote is its outlet's words, not RoomExpert's and not ours, and links to where it was published; a quote from a guest review names no host. RoomExpert covers about 2,700 mostly big-brand hotels, so many hotels the network reviews aren't there. Rates and availability aren't part of it.
The daily check on verified data
Source
The offers, points values and transfer bonuses above, after each day's run.
How often
Daily, at the end of the 10:00 UTC run.
How it's worked out
Before anything is published, ten checks must pass:
That day's accuracy check (re-reading two hand-checked pages) matched.
No blogger's tracker page we depend on is out of action.
Old data was cleared on schedule.
The run stayed within its budgets.
Every verified figure rests on two or more agreeing sources, or the issuer's own page, within its window.
Every "reported" offer's page changed within 7 days.
Every number shown is inside a plausible range.
No value below the issuer's floor goes unflagged.
No editorial override runs past its end date.
Only a day on which all of them pass is published.
Left out
Nothing is shown from a day that failed.
Keep in mind
When a check fails, the pages keep showing the last good day's figures and say so ("Daily check failed, showing last good values"), and status shows which check failed, in red. The figures are then older than usual, but still ones that passed every check.
When pages are held
Source
The analytics check that ends every analytics pass, before anything from it is published.
How it's worked out
Two of its checks judge today's reading, which is still filling: the network's index against its last two weeks (judged only once 15% of the network's usual day has come in, so a few blogs' first hours never stand for the network), and each large blog's day against its usual. Three judge the whole pass: automated traffic, how many blogs were read, and the rows written.
What is held
When today's reading fails, today's figures are held: the pages' Today windows, the Today column on Home, Rising, and the trending tile on the Overview keep the last reading that passed, and say "Today's figures are held since <time>; the rest of this page is current", with a link to Status. The settled days publish as usual: the 7-day, 28-day, 90-day and 12-month pages, the report, audience, acquisition, search, the blog pages and the breakout ledger's finished days. When a check on the whole pass fails, every analytics page keeps its last passing build, as it says at the top.
One blog's unusual day
When the only thing wrong is a few blogs' day far from their usual, and those blogs together carry under 5% of the network's day so far, only their today is held: the network's today publishes without them. Their Today cell on Home, trending and their own page say "Today held: unusual visits, checking"; they are left out of today's trending, Rising and the network index until the next day or a check that passes. Past 5% of the day, or with any other check failing too, the network's today is held as above. (Decided Sep 29; the 5% is the operator's safer choice.)
Keep in mind
Status names the failing checks and whether today's figures or everything is held; its timeline marks each held pass. The next pass that passes releases them.
How we check ourselves
Against Google, every day
Calibration. Once a day three blogs' settled day is read again from Google Analytics (and one blog's Discover clicks from Search Console, and three blogs' Clicky figures), and every stored figure is compared with Google's own. A figure within 2% matches; status shows the day's tally. The blogs rotate, so each is read about once a month.
Worked out twice, every week
The second calculation. The figures you see here (against its usual, the shares, the day line, engagement) are worked out a second time, from Google's figures read fresh, by a separate, deliberately plain program that shares none of this site's code, for eight blogs of every size and one Google Analytics doesn't cover. Where the two disagree, each difference is traced to its cause: Google revising a day after we read it, a rule applied differently, or a mistake of ours, which is then fixed. The first run, on Sep 29, found four mistakes of ours in figures shown here: where readers come from (automated visits taken off the wrong days), "28 days" over two, engagement time per reader rather than per session, and the report's channel shares counting the newest day's automated visits as readers. All four are fixed.
Trending, replayed
The replay. Trending's breakouts are replayed from history, day by day, and checked for fairness: the smaller half of the blogs must earn about half the breakouts.
By hand
A short list of figures anyone with access can check in Google's own screens in ten minutes, each with where to look and what to expect.
How figures are said
A change up to +500% is a percentage; above that, the real multiple to 0.1×, at any size ("7.1× its usual", "48.3× its usual"). Beside it, its context: "small usual day" when the blog's usual day is under 50 page views (a large multiple of a small number), "unusual visits, checking" when the day's check has flagged the blog's visits. A year-on-year change where the year before was never checked for automated visits, and is over +1,000%, says "the year before held almost no readers" instead. A share is never above 100%.
Keep in mind
BoardingArea staff can open any figure to the counts behind it; the public sees what each compares, never a count.
Ask BoardingArea
Source
BoardingArea bloggers' posts, through the network's answer service.
How it's worked out
Each answer cites numbered posts. Only BoardingArea posts are kept as sources; anything from other sites is removed, along with its citation.
Keep in mind
Answers summarise the bloggers' posts; open the linked post for the details before you book.
Blog scorecards
One blog on one page: posts per week over 90 days, readers compared with its usual day for the last 28 days, its trending posts, its top searches, the posts AI assistants send readers to, and how often Ask BoardingArea cites it. Each part is shown only where that blog is connected, and the badges at the top say which. Every figure works as described above.
Topic pages
One airline, program, card issuer, hotel group or airport across the network: its latest posts, the week's stories that name it in their title or opening, trending posts about it, and the Google searches that mention it. Each list works as described above.
Staff workbench (staff only)
What it is
Tools for BoardingArea staff to ask Google Analytics and Search Console questions directly: visits, users, page views, engagement, channels, devices, countries, searches, clicks, indexing and sitemaps, page speed (Core Web Vitals), and checks of a page's tags and redirects. It reads the same blogs as the rest of this site, through the same service account.
Who can use it
BoardingArea staff, who get the staff key (or a signed staff link, which expires) on request, on the workbench or through an AI assistant connected with the key. Connecting an assistant to the public tools needs no key. Raw figures are staff-only. Without the staff key the workbench tools aren't listed, and one asked for by name refuses and says so. Everything else on this site keeps showing only ratios, ranks and shares; a blog's reader counts never appear on a public page or to a public caller.
How fresh
Live from Google when asked, then held 15 minutes, so the same question within that time gets the same answer. Search Console runs about 3 days behind.
Keep in mind
The workbench can only see blogs that have granted our service account access (the line under each page's title says how many). A blog with no key events configured in Google Analytics reports zero conversions: that means none are set up, not that none happened.
Keep in mind, everywhere
Coverage. Reading figures cover the blogs that have given BoardingArea's service account access; searches cover fewer. Every page says how many. See status for which blogs are missing and what would fix each.
Small counts. A change on a small number of visits can look big. Treat changes on small blogs, and AI referrals, as a direction, not a size.
Shares on small blogs are coarser. A share is rounded to a step that covers at least 3 visits, clicks or sessions of what it is a share of, so a small blog's counts can't be worked out from its shares: to 0.1% on a large blog, to 5% or 10% on a small one. A share of fewer than 20 isn't shown, and neither is a change or lift over fewer than 10 the period before.
Caps. Top 100 pages per blog a day for readers, top 25 for AI referrals, top 50 search-and-page pairs for searches.
Search Console runs about 3 days behind.
Recent posts only. The post index holds each blog's recent posts, about 50 per blog on average. Older posts appear in reader figures, marked "older post".
Nothing about readers. We show ratios, ranks and shares, never a blog's reader or search counts, and store nothing about the people using these pages. See privacy.