Points Reporting
Only users with Finance permissions and above will have access to this section.
- Navigate to Settings > Alerts & Reports > Points Reporting
- Select a date, frequency, and input your recipients' emails.
- You can optionally toggle the "Report by store" to see the breakdown by each store.
- Note: By store breakdowns do not contain points that are unassignable to a specific store (e.g. Boosted or manually adjusted points by team members)
- Save
- 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.
See our Points Modifiers guide for more information on how your loyalty members earn points.
- starting_points: any event prior to the start date of the report is put here
- 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 point values (raw file import, pos import)
- points_earned: from sales/collectibles/visits
- points_boosted: from boosts/multipliers/referral sales
- points_adjusted: manual adjustments
- points_multiplied: points total added from audience transaction multiplier(s)
- points_blocked: points added to stop customers from becoming points negative
- points_redeemed: redemptions
- points_expired: any points that have expired
- points_net: legacy+earned+boosted+adjusted+multiplied+blocked-redeemed-expired
- ending_points: sum of all points adjustments and updates that occurred during the month
- first_name: First name of the persona.
- last_name: Last name of the persona.
- fav_store: Favorite store ID for the persona.
- fav_store_state: State location of the favorite store.
- email: Email address of the persona.
- mobile_phone: Mobile phone number of the persona.
- home_phone: Home phone number of the persona.
- src_ids: Source identifier for the persona.
- age: Age of the individual.
- allowed_sms: Whether persona is opted into SMS communications.
- optout_time: time in: time/date the customer opted out of communications with your store
- allowed_email: A boolean indicating if email communication is permitted for the individual.
- allowed_push: A boolean indicating if push notifications are permitted for the individual.
- allowed_direct_mail: A boolean indicating if direct mail communication is permitted for the individual.
- allowed_phone: A boolean indicating if phone calls are permitted for the individual.
- loyalty_number: The loyalty program number associated with the individual.
- loyalty_status: The status of the individual's loyalty program membership.
- join_date: The date the individual joined the loyalty program.
- starting_balance: Starting balance of points for the month.
- accrued: Points accrued for the month.
- redeemed: Points redeemed for the month.
- expired: Points expired for the persona this month.
- adjustments: Manual and AIQ adjustments made to the personas points balance.
- point_modifiers: Audience based points modifiers (boost/mutipliers/etc.) for the month.
- spent: Amount the persona spent in $.
- ending_balance: Starting balance of points for the month.
- date_of_last_sale: Date of the last sale made to the persona.
- merged_ids: List of persona IDs merged into the current active persona.
- 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 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).
- Transactions: [total spent on transactions] x [point accrual ratio]
- Visits: [number of visits] x [point per visit]
- 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.
- 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.