What a rule needs
A rule without an Output price level cannot run: it has nowhere to write its prices. Each scheduled run of such a
rule fails and shows up as a failed run on the dashboard, and Run now
is refused.
Which competitor offers count
For each product, the repricer reads the offers from the latest crawl of each data source, so one set never mixes a price seen today with one seen months ago. It then leaves out:- Offers in another currency than the product’s price at the output level. Omnilinker does not convert currencies.
- Stale offers: offers last seen longer ago than the Competitor freshness window (days) setting, 7 days by default. See Settings that affect every rule.
- Offers that cannot be ordered: an offer whose latest observation says it is not available.
- Excluded merchants: merchants you excluded in the rule’s scope, and merchants marked Exclude from repricer on the Merchants page, which every rule ignores.
The repricer is not scoped by market. It compares every market that shares the product’s currency, so offers from two
euro markets, such as Germany and Austria, compete with each other. See
Markets and data sources.
Gross prices and net costs
All prices the repricer compares are gross, including VAT: your price at the output level, competitor offers, the proposed price and the MIN PRICE, MAX PRICE and MAP (Minimum Advertised Price) limits. Enter those limits as gross amounts. Purchase prices and margins are net. A margin is margin on the selling price: (net price − net purchase price) ÷ net price. To compare a margin floor with a gross price, Omnilinker converts the floor to gross with the VAT rate of the product’s price at the output level. If that VAT rate is unknown, the product is skipped. A purchase price is usable only when it is known, above zero and in the same currency as the output price level. Otherwise a rule with a margin floor blocks the product rather than guessing.When a rule runs
Omnilinker checks every Active rule once a minute. A rule runs when:- its schedule is active at that moment, in your organization’s time zone (see Time zone; until one is set, schedules use UTC), and
- its cooldown has passed: the time set in Run at most every (minutes) since the rule last ran.
Run a rule now
On Rules, click the run button on a rule’s row to start it straight away. You need the Run rule now permission. Omnilinker says “Rule started” and the results appear when the run finishes.- A manual run ignores the cooldown.
- It still waits for fresh data if the rule requires it. Omnilinker then says “Refreshing competitor data first” and the rule runs when the data is fresh; see The fresh-data gate.
- Only an Active rule can be run. For a paused rule or a draft the button is unavailable: “Run now is unavailable — the rule is paused or saved as a draft. Resume or enable it first.”
When two rules cover the same product
Rules compete only for the same price level. When several rules that write the same output price level run in the same minute and their scopes overlap, each product goes to one of them only: the rule with the highest priority number. If two rules have the same priority, the older rule wins. The other rules leave that product out of their run. Rules that write different price levels each price the product on their own level. Only rules that run in that minute compete. A rule that is outside its schedule or still in its cooldown does not claim its products, so another rule can price them. The same goes for a product kept out of a rule with Keep my price: that rule leaves it out, so a lower rule on the same level can price it (see Keep my price). A rule whose price level another system manages does not run at all (see Rules and other systems’ price levels). The layer matters when a campaign ends; see When a campaign ends.How a price is calculated
For each product the rule covers, the repricer:- Applies the strategy. The strategy proposes a price, or proposes nothing and the product is skipped. See Strategies.
- Checks the margin floor. If the proposed price would give a margin below the rule’s MARGIN FLOOR, the product is blocked.
- Checks the MAP. If the proposed price is below the rule’s MAP (Minimum Advertised Price), the product is blocked.
- Clamps to the minimum and maximum. A price below MIN PRICE is raised to it; a price above MAX PRICE is lowered to it.
- Rounds. The PRICE ROUNDING you chose (for example ×.99 endings) is applied, then the price is rounded down to the currency’s smallest unit. Rounding always goes down.
- Checks again. Rounding can push a price under the margin floor or the MAP, so both are checked again, and a price that slipped under MIN PRICE is raised back to it.
- Compares with your current price. The result is a lower price, a higher price, no change, or a first price for a product that has no price at the output level yet.
Why a product gets no price
A product is skipped, and gets no recommendation, when:- it has competitor offers in its currency but none is fresh, available or from a merchant you did not exclude;
- the strategy needs something the product does not have: competitors (Match Lowest −1%), enough competitors for the target rank (Stay #2 Cheapest), no competitors (Premium When Alone), a current price at the output level, a usable purchase price (Margin Floor), or a MAP price;
- the VAT rate of the product’s price cannot be resolved;
- no price can be stored between MIN PRICE and MAX PRICE in the currency’s smallest unit;
- the result would be zero or negative;
- the new price equals the current price.
What happens to the result
What a run does with each new price depends on the rule’s Operating mode.- Suggest
- Auto-apply
Every price becomes a pending recommendation in the
recommendation queue. Nothing changes until someone approves it.
A pending recommendation expires after the Recommendation expiry (hours) setting, 72 hours by default.
The fresh-data gate
A rule can wait for fresh competitor data before it runs. Turn it on in the rule’s Schedule step with Require fresh data.1
The rule is due
When the rule is due to run, Omnilinker checks the products in its scope that have matched data source products.
A product is stale when its newest competitor observation is older than Data is fresh when newer than (hours).
2
It refreshes the stale products
If any are stale, the run waits. Omnilinker starts a refresh limited to those products, one data source at a time,
and tries each data source at most once per wait. The rule shows Waiting for data on Rules.
3
It runs, or follows the deadline behavior
When the data is fresh, the rule runs. If it is still stale when Maximum wait for refresh (minutes) has passed,
the schedule window is about to close, or every data source has been tried, When the wait expires decides:
Run on available data or Skip this run. A skipped run counts as a run for the cooldown.
When a campaign ends
A rule in the Campaign layer is meant to run for a limited time, set by its schedule. When its schedule stops being active, or someone pauses, disables or deletes it while it is active, Omnilinker looks at every product the campaign applied a price to during that window, on each price level it wrote:- If another campaign that is active now covers the product on that level, the product is left to that campaign.
- If an active Standing rule covers it on that level, that rule prices the product again straight away, ignoring its cooldown.
- Otherwise the price is restored as set in When the campaign ends, revert to: the price before the campaign, the current price at another price level you chose, or no change with Keep the campaign price (no revert). A restored price is not set below the price an active Floor rule gives for that product.
Settings that affect every rule
Open Administration > Settings and choose Repricer > Guardrails. You need the Repricer Settings permission.
The group also has Default output price level, Default cooldown (minutes) and Default mode. The rule editor
does not use them yet: a new rule starts in Suggest mode with a 60-minute cooldown and no output price level.
Permissions
All of them are under Pricing Intelligence > Repricer. Ready-made roles are described in
Repricer roles.
The list also has Run rules manually. Nothing checks it today: to run a rule now, a person needs Run rule now.
Rules and strategy templates
Create a rule step by step, or start from a template.
Constraints and guardrails
Min and max price, MAP, margin floor and rounding.
Dry runs
See what a rule would do before it changes a price.
Repricer dashboard
What repricing changed and what needs you.