Troubleshooting
Points not awarded on an order
Check in order:
- Member exists. Query
wp_oloyalty_membersfor the order's user. If missing, the order had no logged-in user (guest checkout). Points are only awarded to logged-in members. - No prior earn for that order. Query
wp_oloyalty_ledgerforsource='order' AND source_id=<order_id>. If a row exists, the earn already happened; the hook is idempotent. - Earn rule status. Open OLoyalty, Points and verify the
order_placedrule isactive. Drafts and disabled rules return zero points. - Caps and exclusions. A daily or monthly cap on the rule can short-circuit the award. Likewise excluded products/categories.
Tier not updating after a purchase
The order needs to transition to completed or processing for the tier evaluation to run automatically. If you set the order to a custom status, hook OLoyalty_Tiers::evaluate_member($member_id) from your own code. Or trigger Members, Bulk actions, Recalculate tier from the admin.
Gift card stuck in pending
Two causes:
- Scheduled delivery.
delivery_atis in the future. Wait for theoloyalty/giftcards/scheduled-deliverAction Scheduler hook to fire (daily by default). - AML review. The amount equals or exceeds
giftcards.aml_threshold. Check the audit log for agiftcard.aml_reviewentry and approve manually from OLoyalty, Gift Cards.
Referrals all going to flagged
The fraud-score threshold is too low for your traffic shape. Open OLoyalty, Settings, Referrals and raise the threshold, or whitelist specific IPs/email domains in the fraud signals config. Existing flagged referrals can be approved one by one from OLoyalty, Referrals.
Referral cookie missing
The oloyalty_ref cookie is HttpOnly and SameSite=Lax with a 30-day TTL. If users land on the referral link inside an iframe or a tab with strict cookie blocking, the cookie may not survive. Test with a clean browser session and confirm the cookie sets on first visit.

