What Is billingStart Schema?
billingStart specifies how much time passes before a price or price component becomes valid and billing begins. It is a Number property used on UnitPriceSpecification, with the time unit supplied through unitCode.
The property can model delayed charges, introductory periods, deferred activation components, or a price increase that starts after a defined subscription period. It describes a relative offset, not an absolute calendar date.
| Question | Answer | Example |
|---|---|---|
| What does it express? | Delay before a component becomes billable | 12 months |
| Expected value | Number | 12 |
| Where is the unit? | unitCode on the same specification | MON |
| Typical parent | UnitPriceSpecification | Subscription price component |
- Use a numeric delay.
- Add the correct time unit.
- Match visible trial, renewal, or escalation terms.
The definition is relative timing: billingStart tells systems how long after the offer begins a particular charge starts.
How Does billingStart Work in UnitPriceSpecification?
billingStart works inside UnitPriceSpecification by delaying when that specific price component becomes valid, while price, currency, unit, billingDuration, and component type describe what is charged and for how long. Multiple specifications can model successive pricing phases.
A SaaS offer might charge $49 per month for the first 12 months and $79 per month afterward. The later component can use billingStart of 12 with a month unit, while visible pricing explains both phases and the trigger for the increase.
| Phase | Price | billingStart | Meaning |
|---|---|---|---|
| Introductory | $49/month | 0 | Begins immediately |
| Standard | $79/month | 12 months | Begins after year one |
| Activation fee | $100 | 0 or actual delay | Separate component timing |
- Identify every pricing phase.
- Set one specification per distinct amount or component.
- Measure the delay from the offer’s defined start.
- Use consistent time units and visible terms.
See UnitPriceSpecification Schema for the parent model.
Timing belongs to the component: each delayed amount needs its own price specification and reproducible start offset.
When Should You Use billingStart?
Use billingStart when a price component begins after a measurable delay from the offer or contract start. Suitable use cases include free trials followed by paid service, introductory prices that step up, deferred activation fees, delayed installments, and subscription components that begin after an included period.
Do not use it for an absolute launch date, promotion calendar, invoice due date, or billing cadence. Those concepts need different properties or explicit commercial terms.
| Scenario | Use? | Reason |
|---|---|---|
| Paid plan begins after 14-day trial | Yes | Relative delay |
| Price rises after 12 months | Yes | Later component starts after offset |
| Sale starts on November 1 | No | Use an absolute validity date |
| Invoice due 30 days after issue | No | Payment timing is different |
| Monthly recurring cadence | No by itself | Cadence is not start delay |
- Use it only when the delay is part of customer-facing terms.
- Define what event starts the clock.
- Avoid implying a free period when another fee applies immediately.
The decision rule is elapsed time: billingStart fits when a charge begins after a defined duration, not on a standalone date.
billingStart vs validFrom: What Is the Difference?
billingStart is a relative numeric delay before billing begins, while validFrom is an absolute Date or DateTime when an item becomes valid. They answer “after how long?” and “on what date?” respectively.
A plan created on any signup date can begin standard pricing after 12 months using billingStart. A promotion that becomes available at midnight on January 1 uses validFrom. Combining them is appropriate only when the offer has both a calendar validity window and a delayed charge inside that window.
| Dimension | billingStart | validFrom |
|---|---|---|
| Time model | Relative offset | Absolute date or datetime |
| Value type | Number plus unitCode | Date or DateTime |
| Example | Charge begins after 12 months | Offer valid from January 1 |
| Main use | Subscription or component timing | Calendar validity |
- Ask whether timing depends on each customer’s start date.
- Use billingStart for the elapsed duration.
- Use validFrom for a shared calendar moment.
- Do not convert one into the other without a defined contract start.
Read validFrom Schema for calendar validity.
Remember “after” versus “on”: billingStart says after how long; validFrom says on which date.
How Do You Add billingStart in JSON-LD?
Add billingStart as a Number on the delayed UnitPriceSpecification and place the time measurement code in unitCode. Keep the specification connected to the relevant Offer and separate it from pricing phases that start immediately.
{
"@context": "https://schema.org",
"@type": "Offer",
"priceSpecification": [
{
"@type": "UnitPriceSpecification",
"price": "49.00",
"priceCurrency": "USD",
"billingStart": 0,
"unitCode": "MON"
},
{
"@type": "UnitPriceSpecification",
"price": "79.00",
"priceCurrency": "USD",
"billingStart": 12,
"unitCode": "MON"
}
]
}| Check | Correct | Incorrect |
|---|---|---|
| Value | Numeric delay | “next year” |
| Unit | Time unit on same specification | Unit omitted |
| Placement | Delayed UnitPriceSpecification | Loose property on Product |
| Phase separation | Different prices use distinct objects | One object carries conflicting prices |
Inspect final rendered markup with Novaverb Site Audit.
The JSON-LD should reproduce the pricing timeline: every phase needs the right amount, currency, delay, and unit.
How Should Free Trials Be Modeled With billingStart?
Use billingStart for a paid component after a free trial only when no charge for that component is collected before the stated delay and the trial clock has a clear start event. Visible terms must disclose trial length, conversion price, billing cadence, cancellation rules, and any immediately charged components.
A “14-day free trial” is misleading if a mandatory activation fee is collected on signup. The subscription component may still begin after 14 days, but the offer is not entirely free. Separate the activation and subscription prices.
| Term | Required answer | Markup implication |
|---|---|---|
| Clock start | Signup, activation, or first use? | Defines offset origin |
| Trial duration | Exact days or other unit | billingStart amount and unit |
| Conversion price | What will be charged? | Delayed specification price |
| Immediate fees | Any charge at signup? | Separate immediate component |
| Cancellation | How to avoid conversion? | Visible terms, not hidden markup |
- Run a sandbox signup at the trial boundary.
- Test cancellation before conversion.
- Confirm time zones and daylight changes do not alter promises.
- Verify the first paid invoice.
A trial is a billing timeline: the delayed paid component and every immediate charge must be modeled and disclosed separately.
How Should Price Increases and Introductory Rates Be Modeled?
Model an introductory rate and later price as separate UnitPriceSpecification objects, using billingStart on the later component to express when its amount begins. Add billingDuration or other applicable terms when the introductory phase has a defined length.
Do not publish only the attractive first-year amount. US subscription buyers should see the standard renewal price and the point at which it applies before purchase.
| Phase | Price | Start | Visible disclosure |
|---|---|---|---|
| Trial | $0 | Immediate | 14 days |
| Introductory | $49/month | After trial | First 12 billed months |
| Standard | $79/month | After introductory period | Renews at standard rate |
- Map the full timeline from signup.
- Give each distinct amount its own specification.
- Calculate offsets in one consistent unit.
- State what happens at every transition.
- Test the billing engine at each boundary.
Use billingIncrement Schema only for billing step size, not phase start.
Show the destination price: introductory pricing is honest only when the later amount and its start point are clear.
How Do You Validate billingStart Markup?
Validate billingStart by checking the numeric value, time unit, entity placement, clock origin, visible terms, boundary timestamps, first charge, renewal charge, and invoice sequence. A parser can accept the property even when the business system starts billing on a different day.
| Layer | Evidence | Pass condition |
|---|---|---|
| Syntax | Parsed JSON-LD | Numeric value |
| Unit | unitCode | Correct time measurement |
| Graph | UnitPriceSpecification | Delay belongs to correct component |
| Origin | Contract terms | Start event is unambiguous |
| Boundary | Billing sandbox | Charge begins after stated duration |
| Invoice | Payment history | Price phases match markup |
- Test immediate, trial, and standard phases.
- Test month-end signup dates.
- Test cancellation and reactivation.
- Re-crawl after subscription or billing changes.
Connect pricing evidence with the Novaverb SEO tools system.
Validation ends at the first real charge: the billing system must start the component at the same offset the markup declares.
How Can billingStart Support CTR and Conversion?
billingStart can support CTR and conversion by making trials and delayed price increases predictable, but the property itself does not guarantee ranking or a search feature. The commercial advantage is a consistent timeline from search promise to signup and renewal.
For US SaaS queries, “14-day free trial” and “$49 for the first year” can earn attention. They also create distrust when the standard price or immediate fee is hidden. Search copy should state the attractive phase only when the landing page displays the later price prominently.
| Surface | Action | Measure |
|---|---|---|
| Search result | State the real trial or introductory term | CTR by pricing-intent query |
| Pricing page | Show all phases on one timeline | Trial start rate |
| Signup | Repeat first charge date and amount | Completion rate |
| Renewal | Apply disclosed standard price | Disputes and churn |
Search Console is authoritative for clicks, impressions, CTR, and position. Novaverb’s crawl is authoritative for pricing copy and structured data on the page. Use the free backlink checker for one off-page signal.
Track paid conversion after the trial, not only trial starts. A message can increase CTR while attracting users who never intended to accept the later price.
For SEO SaaS, define the clock origin in product language before generating markup. “Fourteen days after account creation,” “after the first completed crawl,” and “after a workspace is activated” produce different first-charge dates. The pricing page, signup confirmation, account billing panel, reminder email, payment provider, and structured data must all use one event. If the product grants extra trial days manually, the customer-specific extension belongs in account billing state rather than a public offer that claims the same timing for everyone.
Month-based offsets need boundary tests for signups on the 28th through 31st, leap years, and customer time zones. Decide whether a month means a calendar anniversary or a fixed day count, then ensure the billing engine and visible terms agree. For CTR analysis, separate trial-intent queries from ordinary pricing research and measure paid conversion after the delayed start. A headline that wins trial clicks but creates renewal surprise is not a durable traffic strategy.
Timing earns trust when it is complete: show when billing starts, what it costs then, and what changes afterward.
billingStart Schema FAQ
billingStart is a relative delay for a UnitPriceSpecification, not a date, cadence, duration, or payment deadline. These answers address the distinctions most likely to create incorrect subscription markup.
What value type does billingStart use?
Is billingStart an absolute date?
How is it different from validFrom?
Can it model a free trial?
Can it model a price increase?
Does it define monthly billing cadence?
Does billingStart guarantee a rich result?
When should it be audited?
| Requirement | Ready when |
|---|---|
| Value | Numeric delay is correct |
| Unit | Time measurement is explicit |
| Origin | Clock start event is clear |
| Visibility | Buyer sees every pricing phase |
| Billing proof | First and later invoices match timeline |
The final test is temporal accuracy: the component must begin billing after exactly the duration the structured offer and visible terms declare.