Skip to main content

Scheduled restyles and campaign routing

LingoVae has two ways to change which style a product uses over time, without manually regenerating: schedules (Grow and Pro) and campaigns (Pro only).

They solve different problems:

  • A schedule is time-based. “For November and December, use Holiday Warmth on every product. After New Year’s Day, revert to my default style.”
  • A campaign is traffic-based. “Visitors arriving from a Facebook ad see the Conversion-Focused style. Everyone else sees Friendly.”

You can use them together. Schedules set the default for when; campaigns set the override for who.

Schedules

Schedules are a Grow and Pro feature. They let you apply a different style across a window of time, then automatically revert when the window ends.

What schedules can do

  • Seasonal swap. “Use Holiday Warmth from Black Friday through New Year’s Eve.”
  • One-shot promotion. “Use Flash Sale Urgency next Tuesday from 9am to 9pm.”
  • Recurring window. “Every Friday from 6pm to Sunday at midnight, use Weekend Casual.”
  • Catalog refresh. “For the month of February, use the new Spring Voice across all activewear.”

Creating a schedule

Open Schedules → New schedule. The wizard has two steps:

  1. Pick products. Filter by collection, tag, vendor, or product status. You can also pick “everything.” The selection is captured at schedule-creation time, but the schedule re-evaluates the filter each time it runs — so if you add new products to a collection between creating the schedule and the schedule running, they’re included automatically.
  2. Pick a style and a window. Choose any style from your library. Set the start and end (date and time, in your shop’s timezone). Optionally make it recurring (weekly, monthly, yearly).

Click Save. The schedule is queued.

What happens when a schedule runs

When a schedule’s start time arrives:

  1. LingoVae generates drafts for every product in the schedule’s scope, using the chosen style.
  2. The drafts land in your review queue as a batch (just like a bulk job).
  3. You still publish them. Schedules don’t auto-publish.

When the schedule’s end time arrives, the products automatically revert to whatever style was active before — usually the default, or a previously-published draft.

This is intentional. You shouldn’t have to manually switch back from holiday voice to normal voice on January 2nd.

Auto-publishing on schedule run is on our roadmap but not in v1. If you set a future schedule and want it to publish without your involvement, you’ll need to set a high auto-publish confidence threshold in quality controls and walk the batch when the time comes. We’ll send an email reminder when a schedule runs.

Editing or cancelling a schedule

Open the schedule from the Schedules list. You can:

  • Edit the products, style, or window — only allowed if the schedule hasn’t run yet.
  • Cancel a future schedule entirely. No drafts get generated.
  • End early an active schedule. The reversion happens immediately.

If a schedule is currently running (between its start and end), some fields are read-only to prevent inconsistency mid-window.

Schedule conflicts

If two schedules overlap and target the same product, the most recently created schedule wins. LingoVae shows you the conflict when you create the second schedule and asks you to confirm.

If you want priorities, use campaigns instead — they support explicit ordering.

Campaigns

Campaigns are a Pro feature. They route visitors to different styled versions of the same product based on rules about where the visitor came from.

This is how you A/B test voices, run different copy for paid traffic, or localize for region without restyling your catalog.

What campaigns can do

  • Paid vs organic. “Visitors with a utm_source=facebook query string see the Punchy Conversion style. Everyone else sees Friendly.”
  • Referrer-based. “Visitors arriving from Pinterest see the Visual Storytelling style.”
  • Audience-based. “Logged-in customers in the wholesale segment see the B2B style.”
  • Geographic. “Visitors with US IPs see the American English style; UK IPs see the British English style.” (Geo is roadmap; v1 supports referrer + UTM + customer segment.)

How campaigns work at request time

When a visitor lands on a product page:

  1. Your theme’s LingoVae block sees the request and looks up the visitor’s UTM params, referrer, and customer segment.
  2. It evaluates your campaign rules in priority order (top to bottom).
  3. The first rule that matches determines which styled version of the description to render.
  4. If no rule matches, the visitor sees your default styled version (or the original, if nothing is styled).

This evaluation happens at the storefront layer, fast — no extra round-trip to LingoVae. The styled versions for every rule are pre-published to Shopify metafields; the theme just picks which to read.

Creating a campaign rule

Open Campaigns → New rule. The form asks for:

  • Name. What you’ll call this campaign internally.
  • Match conditions. Combinations of UTM source, UTM medium, UTM campaign, referrer host, and customer segment. All conditions must match (AND).
  • Style to apply. Any style from your library. The rule will render this style’s published draft when triggered.
  • Priority. Drag-to-reorder against your other rules. Higher = evaluated first.
  • Enabled. Toggle off to disable without deleting.

Click Save. The rule is staged but not live yet.

Publishing campaign rules

Campaign rules don’t go live the moment you save them. They have a publish state:

  • Draft — saved but not live. You can edit freely.
  • Unpublished changes — rule has been edited since the last publish. Storefront still serving the old version.
  • Published — live on storefront.

When you have unpublished changes, a Publish (N changes) button appears at the top of the campaigns page. Click it to push every change atomically — all rules and the new priorities go live in one transaction.

This separation lets you draft a complex set of rules across multiple sessions and ship them as a single coordinated change.

Testing a campaign rule

Open Campaigns → Test. Paste any URL — or just a UTM string, or a referrer hostname — and LingoVae shows you:

  • Which rule matched (or “none, default applies”).
  • The styled description that visitor would see.
  • A trace of every rule evaluated and why it did or didn’t match.

Use this before publishing to make sure your rules behave as expected. The tester is read-only — it doesn’t affect any real visitor or send any traffic.

Campaign analytics

Future: you’ll be able to see traffic-split impressions per rule (how many visitors matched each rule, how that compares to your default). This is gated behind a feature flag in v1 — the underlying counters are not yet wired up, so the analytics panel is hidden. Watch the changelog.

When to use which

SituationUse
”Use Holiday Warmth for December”Schedule
”Use Black Friday Urgency for one weekend”Schedule
”Visitors from Facebook see a different voice”Campaign
”VIP customers see a premium-feel voice”Campaign
”December and visitors from Facebook see Conversion-Focused”Schedule for December + Campaign for FB inside that window

Schedules and campaigns operate on different axes (time vs traffic), so they compose cleanly. A schedule sets the default style for a period; a campaign overrides that default for a slice of visitors during the same period.

Where they show up

Schedules and campaigns both contribute to the activity feed:

  • “Schedule started — Holiday Warmth ran for 247 products”
  • “Schedule ended — Reverted 247 products to Friendly”
  • “Campaign rule changed — Facebook ads now route to Conversion-Focused”
  • “Campaigns published — 4 rules updated”

This makes it easy to look back at what your storefront was doing on any given day.