What Is billingDuration Schema?

Published
12 min read

billingDuration defines how long a UnitPriceSpecification is billed, supporting fixed-term subscriptions, introductory rates, installments, and time-limited price components.

What Is billingDuration Schema?

billingDuration specifies how long a price or price component will be billed within a UnitPriceSpecification. It can use a Schema.org Duration, a Number with a unitCode, or a QuantitativeValue, allowing offers to describe subscription terms, payment-plan periods, and time-limited price components.

The property answers how long a billing phase lasts. It does not state when the phase begins, how frequently invoices are issued, or the date an offer becomes valid. Those are separate timing concepts.

billingDuration at a glance
QuestionAnswerExample
What does it express?Length of time a price component is billed12 months
Expected value typesDuration, Number, or QuantitativeValueP1Y or 12 months
Where is it used?UnitPriceSpecificationSubscription or installment component
  • Choose one clear representation.
  • Use the correct time unit.
  • Match contract and visible pricing terms.

The definition is term length: billingDuration tells systems for how long a particular amount or component continues to be billed.

How Does billingDuration Work in UnitPriceSpecification?

billingDuration works inside UnitPriceSpecification by limiting the time span of that specific amount, while price, currency, billingStart, unit, and component type describe its monetary role and timeline position. Separate specifications can model successive phases.

An SEO platform might bill an introductory $49 monthly price for 12 months and then a $79 standard price. The first component carries a 12-month billing duration; the second begins after that interval and may continue under different terms.

Pricing phase responsibilities
PropertyQuestion answeredExample
priceHow much?$49
billingStartAfter how long does it begin?0 months
billingDurationFor how long is it billed?12 months
priceComponentTypeWhat component is it?Subscription
  1. Map each distinct price phase.
  2. Give each phase its own specification.
  3. Set start and duration independently.
  4. Confirm phases do not create unexplained gaps or overlap.

Start with UnitPriceSpecification Schema.

The duration belongs to one amount: every time-limited price needs a clear phase, start, length, and transition.

Which Value Format Should billingDuration Use?

billingDuration can use an ISO 8601 Duration, a Number paired with unitCode, or a QuantitativeValue containing the amount and unit. Choose the representation your publishing system can generate consistently and that preserves the contract’s actual time meaning.

An ISO duration such as P1Y is compact. A Number such as 12 requires unitCode on the specification. QuantitativeValue can group amount and unit explicitly. Do not combine conflicting representations for the same phase.

billingDuration value formats
FormatExampleBest useMain check
DurationP1YISO-formatted termCalendar meaning is correct
Number + unitCode12 + MONSimple numeric termUnit is present
QuantitativeValuevalue 12, unitCode MONGrouped measurementObject is valid
  • Use one canonical internal duration model.
  • Convert to JSON-LD at rendering time.
  • Test year, month, week, and day boundaries.

Consistency beats format variety: one correct duration representation is better than several objects that disagree.

When Should You Use billingDuration?

Use billingDuration when a price component has a defined contractual or promotional term. Strong cases include fixed-term subscriptions, introductory prices, installment schedules, financed purchases, trial-priced phases, annual service agreements, and temporary fee components.

Do not use it merely to state invoice frequency. A price billed monthly can continue indefinitely; “monthly” describes cadence, while billingDuration describes how long that price phase lasts.

Appropriate billingDuration scenarios
ScenarioUse?Reason
Introductory rate for 12 monthsYesPrice phase has a fixed term
24-payment installment planYes with full timing contextPayment component has bounded duration
Monthly subscription until canceledNot for a fixed end unless terms define oneCadence is not duration
Promotion valid during NovemberUse validity datesCalendar window is different
  1. Identify whether the amount has a fixed end.
  2. Separate cadence from total term.
  3. State what happens after the term.
  4. Model the next price phase when applicable.

Use billingDuration for bounded terms: it belongs when one price component lasts for a defined period and then ends or changes.

billingDuration vs billingStart: What Is the Difference?

billingDuration states how long a price component is billed, while billingStart states how much time passes before that component begins. Duration describes length; start describes relative offset.

A discounted price can start immediately and last 12 months. The standard price can begin after 12 months and continue for another defined term or indefinitely under the contract. Modeling both properties reveals the full sequence.

billingDuration compared with billingStart
DimensionbillingDurationbillingStart
Main questionFor how long?After how long?
Accepted valuesDuration, Number, QuantitativeValueNumber
Unit handlingDuration format or measurementunitCode supplies measurement
ExampleBilled for 12 monthsBegins after 12 months
  • Calculate both from the same subscription timeline.
  • Avoid overlapping phases unintentionally.
  • Show transitions visibly before signup.

Read billingStart Schema for delayed component timing.

Remember “length” versus “offset”: billingDuration measures the phase; billingStart positions it.

How Do You Add billingDuration in JSON-LD?

Add billingDuration to the relevant UnitPriceSpecification using a supported Duration, Number, or QuantitativeValue representation. Keep it attached to the exact price phase and include currency, start timing, and component role when needed.

{
  "@context": "https://schema.org",
  "@type": "Offer",
  "priceSpecification": {
    "@type": "UnitPriceSpecification",
    "price": "49.00",
    "priceCurrency": "USD",
    "billingDuration": "P1Y",
    "priceComponentType": "https://schema.org/Subscription"
  }
}
JSON-LD implementation checks
CheckCorrectIncorrect
Value typeSupported duration representationFree text “one year deal”
PlacementMatching UnitPriceSpecificationLoose property on Product
Price phaseOne amount per defined termConflicting prices in one object
TransitionNext phase is disclosedLater price hidden

Inspect the final rendered graph with Novaverb Site Audit.

The snippet should reconstruct the contract: amount, term, start, and next phase must agree with the visible offer.

How Should Installments and Fixed-Term Subscriptions Be Modeled?

Model installments and fixed-term subscriptions with separate price components whenever amount, cadence, role, or term differs. billingDuration defines the component’s overall billing span, while visible terms must also explain installment count, invoice frequency, downpayment, renewal, and total payable amount.

A 24-month payment plan can include a downpayment plus 24 installments. The downpayment is a distinct component; the installment component uses the appropriate duration and timing. Do not imply that 24 months means 24 equal payments unless the contract actually says so.

Fixed-term payment model
ComponentTimingDuration contextBuyer needs
DownpaymentAt signupOne-time componentAmount and remaining balance
InstallmentScheduled cadence24-month termCount, frequency, and amount
SubscriptionRecurringContractual termRenewal and cancellation rules
Activation feeDefined startUsually one timeWhether mandatory
  1. Calculate total payable cost.
  2. Separate every component role.
  3. Define term and cadence independently.
  4. Test early cancellation and renewal behavior.
  5. Reconcile the resulting invoice schedule.

See priceComponentType Schema for line-item roles.

A term is not a payment count: disclose both duration and invoice schedule so the buyer can predict every charge.

How Do You Validate billingDuration Markup?

Validate billingDuration by checking value type, time unit, entity placement, contract term, pricing-phase boundaries, renewal behavior, invoice schedule, and total payable amount. Parsing proves format but not that the billed period matches the offer.

billingDuration validation workflow
LayerEvidencePass condition
SyntaxParsed JSON-LDSupported value type
UnitDuration or unitCodeCorrect measurement
GraphUnitPriceSpecificationTerm belongs to correct amount
ContractVisible pricing termsSame phase duration
BoundaryBilling sandboxPrice ends or changes on schedule
InvoicePayment sequenceCharges reconcile with term
  • Test first and final invoice in the phase.
  • Test month-end and leap-year dates.
  • Test cancellation, pause, and renewal.
  • Re-crawl after plan or billing changes.

Connect timing evidence with the complete Novaverb SEO tools system.

Validation ends at the phase boundary: the price must stop or transition after the exact duration the markup declares.

How Can billingDuration Support CTR and Conversion?

billingDuration can support CTR and conversion by making fixed terms and introductory periods predictable, but it does not guarantee rankings or a search feature. The marketing value comes from telling US buyers how long the promoted amount lasts and what follows.

“$49 per month” and “$49 per month for 12 months” are different promises. A lower introductory amount can attract clicks, but hiding the duration or renewal price creates low-quality traffic, abandonment, disputes, and churn.

Duration clarity across the funnel
SurfaceActionMeasure
Search resultState the introductory term when materialCTR by pricing-intent query
Pricing pageShow amount, term, and next price togetherPlan comparison engagement
SignupRepeat contract and renewal termsCompletion rate
RenewalApply the disclosed transitionChurn and disputes

Search Console is authoritative for clicks, impressions, CTR, and position. Novaverb’s crawl is authoritative for the terms and structured data actually present. Use the free backlink checker for one off-page signal.

Measure retained paid customers, not only clicks or trial starts. Duration language succeeds when customers understand the full term before committing.

For SEO SaaS, separate billing cadence, committed term, and displayed equivalent price. A plan shown as “$79 per month, billed annually” may create twelve monthly-equivalent units while collecting one annual payment. The page and structured data should not imply monthly cancellation or twelve separate invoices unless those options exist. State the annual payable amount, commitment length, renewal behavior, included credits, and any early-termination rules beside the monthly equivalent.

Use distinct pricing phases when the first contract term receives a discount and renewal moves to the standard rate. The introductory component’s billingDuration should match the real term, while the next component and its start offset explain what follows. If a customer can switch plans mid-term, document how credits, prorating, and the remaining duration change; do not let a static public object describe account-specific amendments.

CTR analysis should group queries by annual, monthly, trial, and contract intent. Record the title, description, visible term, page version, and deployed structured data before comparing Search Console results. Then measure retained paid accounts and renewal acceptance. An annualized headline that raises clicks but produces commitment surprise is weaker than a slightly lower CTR from buyers who understand the term.

Review contract-language changes before every pricing-page deployment and renewal campaign.

Term clarity attracts qualified demand: state how long the price lasts and what the buyer pays afterward.

billingDuration Schema FAQ

billingDuration describes how long one UnitPriceSpecification is billed and should not be confused with start delay, billing cadence, offer dates, or payment deadlines. These answers cover the distinctions most likely to produce inaccurate markup.

What value types can billingDuration use?
It can use Duration, Number, or QuantitativeValue. A Number needs an appropriate unitCode.
Is billingDuration the monthly cadence?
No. It describes total time a price component is billed, not invoice frequency by itself.
How is it different from billingStart?
billingDuration measures phase length; billingStart measures the delay before the phase begins.
Can it model a 12-month introductory price?
Yes. Attach the 12-month duration to the introductory UnitPriceSpecification and disclose the later price separately.
Can it model installments?
Yes, but duration does not replace installment count, cadence, downpayment, or total-cost disclosure.
Can an indefinite subscription use billingDuration?
Do not invent a fixed term when the component continues until cancellation. Model only the terms the offer actually defines.
Does billingDuration guarantee a rich result?
No. Accurate markup does not guarantee ranking, CTR, or any particular search presentation.
When should duration markup be audited?
Audit after contract, trial, installment, renewal, price-phase, or billing-provider changes.
Final billingDuration checklist
RequirementReady when
ValueSupported duration representation
ParentTerm belongs to correct price phase
VisibilityBuyer sees amount, term, and transition
BoundariesStart and end do not conflict
Billing proofInvoice sequence matches the term

The final test is contract accuracy: the component must be billed for exactly the duration the structured offer and visible terms promise.