Background
Points Reports provide detailed financial data about loyalty point activity across your stores, personas, and individual transactions. These reports help you track point accrual, redemption, expiration, and overall program performance.
âšď¸ Note: Access to Points Reporting requires the Finance permission. Contact your administrator if you do not see this section in your dashboard.
Schedule a Points Report
You can schedule Points Reports to run automatically on a recurring basis. Scheduled reports are delivered to your email or made available for download in the dashboard at the configured interval.
Navigate to Settings > Alerts & Reports > Points Reporting in your AIQ Dashboard.
Select a date, frequency, and input your recipients' emails.
You can optionally toggle the "Report by store" to see the breakdown by each store or the "Report by persona" to see the breakdown by persona.
Note: By store breakdowns do not contain points that are unassignable (meaning no favorite store) to a specific store (e.g. Boosted or manually adjusted points by team members)
Save
Download a Points Report
To download a Points Report on demand:
Navigate to Settings > Alerts & Reports > Points Reporting
Scroll down to the Monthly Financial Report Vault
Locate the report you wish to download and click the link to download.
You can download either the report by Store or by Persona.
Store Report by Month
Points un-assignable to a specific store: Points for customer that don't have a favorite store assigned.
Starting Points
starting_points: any event prior to the start date of the report is put here
Month delta
month_delta: the difference between the starting points total of the current month vs the ending points total of the previous month.Why is there a points difference from one month to the next? Loyalty Reports are generated monthly. There may be changes in points totals between the first and last day of the month that cannot be accounted for elsewhere in the report. Examples:
Some persona merges and unmerges
AIQ loyalty settings adjustments
POS/Ecom delays or updates
Changes in data mapping to stores
Points' liabilities per store are fluid based on a persona's favorite store. Customers can manually assign their favorite store or be auto-assigned based on their purchase history. If a customer's favorite store is updated (manually or automatically) their points total will be un-assigned from the previous store and assigned to the new location.
Legacy Points
legacy_points: legacy point values (raw file import, pos import)
Points Earned
points_earned: from sales, collectibles, and visits
Points Boosted
points_boosted: from boosts and referral sales
Points Adjusted
points_adjusted: manual adjustments
Points Multiplied
points_multiplied: points total added from audience transaction multiplier(s)
Points Blocked
points_blocked: points added to stop customers from becoming points negative
Points Redeemed
points_redeemed: redemptions
Points Expired
points_expired: any points that have expired (if there is a point expiration date)
Points Net
points_net: legacy+earned+boosted+adjusted+multiplied+blocked-redeemed-expired
Ending Points
ending_points: sum of all points adjustments and updates that occurred during the month, or ending balance of total points
Persona Report by Month
First Name
first_name: First name of the persona.
Last Name
last_name: Last name of the persona.
Favorte Store
fav_store: Favorite store ID for the persona.
Favorite Store State
fav_store_state: State location of the favorite store.
Email
email: Email address of the persona.
Mobile Phone
mobile_phone: Mobile phone number of the persona.
Home Phone
home_phone: Home phone number of the persona.
SRC Ids
src_ids: Source identifier for the persona.
Age
age: Age of the individual.
SMS
Opt-In allowed_sms: Whether persona is opted into SMS communications.
Opt-Out time
optout_time: time in: time/date the customer opted out of communications with your store
Email Opt-In
allowed_email: A boolean indicating if email communication is permitted for the individual.
Push (Mobile) Opt-In
allowed_push: A boolean indicating if push notifications are permitted for the individual.
Direct Mail Opt-In
allowed_direct_mail: A boolean indicating if direct mail communication is permitted for the individual.
Voice Drop Opt-In
allowed_phone: A boolean indicating if phone calls are permitted for the individual.
Loyalty Number
loyalty_number: The loyalty program number associated with the individual.
Loyalty Status
loyalty_status: The status of the individual's loyalty program membership.
Loyalty Join Date
join_date: The date the individual joined the loyalty program.
Starting Balance
starting_balance: Starting balance of points for the month.
Accrued Points
accrued: Points accrued for the month.
Redeemed Points
redeemed: Points redeemed for the month.
Expired Points
expired: Points expired for the persona this month.
Adjusted Points
adjustments: Manual and AIQ adjustments made to the personas points balance.
Point Modifiers
point_modifiers: Audience based points modifiers (boost/mutipliers/etc.) for the month.
Spend
spent: Amount the persona spent in $.
Ending Point Balance
ending_balance: Ending balance of points for the month.
Date of Last Sale in Range
date_of_last_sale_in_range: Date of the last sale made to the persona within the timeframe of the report:If the last sale was within the timeframe of the report, it will show a date in this column
If the last sale was prior to the timeframe of the report, it will show as blank.
Date of Last Sale All Time
date_of_last_sale_all_time: Date of the last sale for this persona all time (not restricted to the timeframe of the report)
Merged Ids
merged_ids: List of persona IDs merged into the current active persona.
Detailed Report by Month
uid: A unique identifier for the AIQ account.
contact_id: A unique identifier for the contact.
source_id: An identifier indicating the source, which sometimes includes a specific tag (e.g., 43401586:::HelloHigh).
platform: The platform from which the data is sourced (e.g., POS, file upload, etc.).
receipt_id: A unique identifier for the receipt, applicable for certain transactions.
fav_store_id: An identifier for the favorite store attached to the event.
event: The type of event recorded (e.g., sale, redemption, legacy).
"start" prefix identifies the starting points for the month for the associated contact ID
assigned_store_id: The identifier for store the event has been assigned to.
point_value: The point value associated with the event.
timestamp: The timestamp of the event, which is in Unix epoch time.
Points Reports Generated via Audiences
Points Reports can be pulled for specific Audiences to show points totals for Personas who are currently in the audience at the time the report is run, regardless of the date range ran. This means that Points calculations and reporting generated through the Audience Builder will retroactively change as merges occur.
The logic reflected in the Points Reports generated via Audiences reflects the current logic in the account and does NOT reflect the logic in the account for the time frame in question. Points Reports generated multiple times for a specific audience will vary over time and will not remain consistent.
Because Points Reports generated for audiences will inherently change over time, they are considered dynamic and should NOT be used to determine the financial liability from outstanding loyalty points.
Examples of changes in historical audience Points Reports (and why they should NOT be utilized):
Change in Expiration Logic
Loyalty Program begins Jan 1, 2022
Expiration Logic is Changed on June 1, 2022 and applied retroactively
However, from Jan 1 2022 through May 31st, 2022, that expiration logic was not implemented. Therefore, actual financial liability of usable loyalty points during Jan 1 2022 through May 31st, 2022 should NOT incorporate expiration logic as that logic did not exist at that time.
However, Audience Points Report WILL incorporate the expiration logic from Jan 1 2022 through May 31st, 2022 as Audience Points Reports utilize the EXISTING logic for the historical timeframe and NOT the historical logic when reporting on the historical timeframe.
Merges
In August 2022, I was incorrectly merged with an unrelated Persona as the staff was using Dummy Contact Information when collecting contact information at check out. This resulted in me having 300 points for August 2022.
However, in October, it was discovered that I incorrectly was merged with another unrelated individual. So, in October 2022 I was unmerged resulting in me having a remaining point balance of 200 points (as 100 points were a result of the âbad mergeâ and were therefore removed once the bad merge was corrected).
If the August 2022 report is regenerated after October 2022, my outstanding point balance will reflect my âun mergedâ account with 200 points instead of the âmerged accountâ with 300 points that was seen the first time the report was generated. This would cause variable financial liability as a result of the variable outstanding point balances seen within the same report, generated at different times (pre Aug 202 VS post Oct 2022).
Points Reporting FAQs
How do members earn points?
Transactions: [total spent on transactions] x [point accrual ratio]
Visits: [number of visits] x [point per visit]
Boosts, Gifts, and Multipliers: see Points Modifiers.
Manual Adjustments: When a staff member manually adds or subtracts points from an account.
API-driven Integration Partners: Connected integrations can cause points to be added/subtracted.
Block Adjustments: see Points Modifiers.
How do I verify the points report?
IF your POS sends AIQ Transcation IDs:
You can access the discounts and the transactions they were applied to via the API.
IF your POS does NOT send AIQ transaction IDs - or you use âGroupon styleâ redemption methods (e.g. The customer shows staff discounts and redeems via phone and not directly in the POS):
You will not be able to tie redemptions to exact sales within AIQ.
An alternative is to pull discount usage from your POS directly and match it to UTC timestamps from redemptions that occurred within your AIQ ledger. This can be done by downloading the CSV on the Analytics > Members Club tab.
On the points report, why would points multiplied be more than points earned?
Points Earned is from sales, collectibles, and visits only. Points Multiplied is an audience multiplier. So more points were earned and are eligible for multiplication than earned via standard methods (sales, collectibles, visits).
If you are looking for the total, Points Net is the total change from the previous month (including subtracting points redeemed)
points_net: legacy+earned+boosted+adjusted+multiplied+blocked-redeemed-expired
How does the meaning of âLegacy Pointsâ differ between Loyalty Reporting and Expiration settings?
In Loyalty Reporting: âLegacy pointsâ here usually means points that existed before the current loyalty tracking period or before a loyalty program changeover. Theyâre included in the total for historical accuracy but may not behave like new points in terms of expiration.
In Expiration / Expire All Logic: In this context, âlegacy pointsâ refers to older points carried over from before the current expiration rules were applied. They might be expired in bulk when doing an âexpire allâ action, or in some setups, theyâre excluded from expiration runs depending on your programâs settings.
How are points from campaign giveaways calculated?
These are typically awarded based on the configuration inside the specific campaign setup. In most cases:
You set a fixed number of points that each participant (or winner) gets.
AIQ then applies those points directly to the contactâs loyalty balance once the campaign ends or when the trigger condition is met.
Thereâs no dynamic calculation (like based on spend or tier) unless you explicitly configure it to use a multiplier.
Need Help?
If you need assistance, reach out to AIQ Support anytime via chat widget within your AIQ Dashboard.