# Common tasks and queries Learn how to export lists, report on funnels and paths, and more. # Saving Performance Analytics queries > You can save any query for later access, either as a Look or to a new or existing Dashboard. Start from the [Explore view](https://www.airship.com/docs/guides/reports/analytics/exploring/exploring/#the-explore-view). If you are starting from a Look or Dashboard, hover over the Look, then click the more menu icon (⋮) and select *Explore from here* to open the Explore view.  *Saving a query in Performance Analytics* From the Explore view, click the gear icon (⚙), then select *Save as...* and choose a format/location: * *Existing Dashboard* — Enter a title, select a Dashboard, then click **Save to Dashboard**. * *Look* or *New Dashboard* — Enter a title, select a folder, then click **Save** or **Save & View Look**. Folder options: * *My folder* — No one else in your Airship project has access to the content in this folder. * *Group* — Anyone with access to your Airship project and Performance Analytics can access this folder. If you would like to save Looks and Dashboards across multiple projects, use this folder. # Scheduling delivery of Performance Analytics data > Export your Performance Analytics data single time or at repeated intervals using various methods, formats, and other options. > **Important:** **Best Practice** > > Since Performance Analytics is an on-demand system, it is important that your > scheduled requests do not adversely impact other customers. When scheduling an > export of user-level data: > > 1. Filter appropriately so that results are not excessive or a larger data > set than necessary. > 1. Select a weekend day to limit your impact on other users. > > If you are interested in integrating with other business systems, we highly > recommend using our > [Real-Time Data Streaming](https://www.airship.com/docs/reference/glossary/#rtds) > integrations, which will scale to your needs. See: > [Integrations](https://www.airship.com/docs/integrations/). > > --- > > **Excessive Exports** > > Event data, such as messages, clicks, and tag events, is updated about every hour, depending on the volume of data. Channel state data, such as tags and attributes associated to a channel, is updated every night. Any scheduled data exports exceeding these time frames will be considered excessive and could be removed. ## Scheduling Look Delivery You can only schedule delivery of saved Looks. If you edited a Look and want to schedule delivery, first save it as a new Look, then complete these steps. Refer to [Scheduling Options](#scheduling-options) below for detail. From a Look: 1. Hover over the Look, then click the more menu icon (⋮) and select *Schedule*. 1. Enter a name for the schedule. 1. Select and configure the destination: * *Email* — Your account's email address is populated by default. For each additional recipient, enter the email address and **click Add**. You can also include a custom message that will appear above the data in the email. * *Webhook* — Enter the webhook URL. * *Amazon S3* — Enter the S3 values for the bucket and optional path, access key, and secret key, then select a region. * *SFTP* — Enter the host address, e.g., *sftp://example.com/home/ftpuser/*, and the SFTP user username and password, then select your preferred key exchange algorithm. 1. Select a data format. 1. Set the recurrence interval, or select *Datagroup update* and select a datagroup. 1. (Optional) Edit or configure *Filters*: Specify the date range and project name and add more filters. 1. (Optional) Configure *Advanced options*. These options control the delivery logic based on data presence and changes, limits on output, visual output, paper size, and time zone. 1. (Optional) Click **Send Test** to preview before saving. It will send according to the current settings. 1. Click **Save All**. ## Scheduling Dashboard Delivery Refer to [Scheduling Options](#scheduling-options) below for detail. From a Dashboard: 1. Click the more menu icon (⋮) and select *Schedule delivery*. 1. Configure the *Settings* tab: 1. Enter a name for the schedule. 1. Set the recurrence interval, or select *Datagroup update* and select a datagroup. 1. Select and configure the destination: * *Email* — Your account's email address is populated by default. For each additional recipient, enter the email address and hit Enter or click outside the field. * *Webhook* — Enter the webhook URL. * *Amazon S3* — Enter the S3 values for the bucket and optional path, access key, and secret key, then select a region. * *SFTP* — Enter the host address, e.g., *sftp://example.com/home/ftpuser/*, and the SFTP user username and password, then select your preferred key exchange algorithm. 1. Select a data format. Available options depend on your selected destination and whether you are scheduling a Look or a Dashboard. 1. (Optional) Edit or configure the *Filters* tab: Specify the date range and project name and add more filters. 1. Configure the *Advanced options* tab. These options control the visual output, paper size, and time zone. 1. Click **Save now**. ## Scheduling Options These options are available when configuring scheduling. ### Destinations * *Email* — The data is delivered to the email addresses entered. * *Webhook* — Webhooks are a modern, increasingly common way to trigger exchanges between internet based services. They generally require some technical or developer knowledge to use, but with a product like [Zapier](https://zapier.com/), webhooks can let Performance Analytics data be delivered to a wide range of locations. Only a webhook URL is required. * *Amazon S3* — Amazon S3 buckets are a common way to store large amounts of data. Options include: * *Limits* — If you choose "Results in Table", whatever row limitations you've set up in the saved Look will be obeyed. If you choose "All Results" all the rows of the query will return, regardless of the saved Look settings, and regardless of the typical 5,000 row limit for Performance Analytics. This can be desirable for retrieving very large datasets, but you should use caution to ensure the query is not too large for your database. * *SFTP* — The data is uploaded according to your server. ### Formats Dashboards support these output formats: * CSV * PDF * PNG visualization For Looks, supported formats depend on the destination: | Format | Email | Webhook | S3 | SFTP | | --- | :---: | :---: | :---: | :---: | | CSV | ✓ | ✓ | ✓ | ✓ | | Text | ✓ | ✓ | ✓ | ✓ | | XLSX | ✓ | ✓ | ✓ | ✓ | | JSON — Simple | ✓ | ✓ | ✓ | ✓ | | HTML | ✓ | | ✓ | ✓ | | JSON — Detailed, Inline | | ✓ | ✓ | ✓ | | JSON — Simple, Inline | | ✓ | | | | JSON - Label | | ✓ | | | | Data Table1 | ✓ | | | | | Visualization1 | ✓ | | | | 1. Sent in the body of the email. # Add Web Metrics To a Report > Add web metrics to a report. Add web push notification metrics to the *Message Report by Platform* report, and save the customized version in your Personal or Group space. 1. Go to *Reports » Performance Analytics*. 1. Go to any report or dashboard. 1. Click the grid icon (squares-four), click the globe icon (globe), and then go to *Messages » Message Report by Platform*.  *Navigating to the Message Report by Platform Look* 1. Click the gear icon (⚙) and select *Explore from Here*. 1. In *Filters*, set *Message Type* to `Web Notification`. 1. From the left side menu, in *Messaging Metrics » Measures » Web Metrics*, click the rows for: * Web Click Rate * Web Click Count * Web Session Rate * Web Session Count 1. Click the gear icon (⚙) and select *Save as a Look*. 1. Enter a *Title* and *Description*, select the *Personal* or *Group* space, then click **Save** or **Save & View Look**. # Export Lists > Learn the general process of exporting Performance Analytics data and review specific examples. All data in Performance Analytics can be exported in a number of formats via the download feature. In this document we'll look at the general process of exporting Performance Analytics data, then we'll examine the specific example of exporting a list of users that have directly opened a notification or rich message. In this tutorial, you will first learn how to export report data, then follow steps to export specific types of report data. ## Export Data In this section we look at the general process of exporting Performance Analytics data. 1. Go to *Reports » Performance Analytics*. 1. Select a dashboard and find the report you would like to download. 1. If you are on a default dashboard, click the more menu icon (⋮) and select *Download Data...*. If you clicked the tile to open the report or opened the report from a Space, instead click **Download Results**. 1. Specify Download Options: * **File Format:** The format of the download: *TXT*, *Excel Spreadsheet*, *CSV*, *JSON*, *HTML*, *Markdown*, or *PNG (Image of Visualization)*. * **Results:** *With visualization options applied* or *As displayed in the data table*. * **Values:** *Unformatted* means special characters are truncated from values, and values will be rounded to the nearest integer, e.g., "1.13%" is rounded to "1%". As a general rule, the *Unformatted* option is good for discrete values, e.g., a count of devices, while *Formatted* is a good option for non-discrete values, such as percentages. * **Limit:** *Results in Table* exports all results currently visible in the table. *All Results* exports every result fetched by the query. Select *Custom*, to define a cutoff row for the download, e.g., enter *5000* to download of the first 5,000 records. * **Filename:** Enter a descriptive filename. 1. Click **Download** and save the file. If you'd like to view the data in the browser instead, click **Open in Browser**, and it will open in a new browser tab. ## Notifications Generate a list of users that directly opened a specific push notification. 1. Go to *Reports » Performance Analytics*. 1. Select the *Revenue* dashboard. 1. In the *Messages* report, locate the row for the message you want to analyze, then click its value in the *Direct Response Count* column. 1. Download the data as described in [Export Data](#export-data). ## Rich Pages Generate a list of users that directly opened a specific rich message. 1. **Go to the Messages dashboard.** 1. In the *Top 50 Rich App Pages* report, **locate the row for the Message you want to analyze**, then **click its value in the *Read Count* column.** 1. **Click the arrow next to Filters to display the full menu.** 1. **Edit the Rich Pushes Occurred Date range**, and set the value of *is on or after* to the day before the message send date:  *Setting the Rich Pushes Occurred Date filter* This configuration is necessary to ensure you capture rich message reads occurring in every time zone. 1. **Click the Run button** to refresh the query. 1. **Download the data** as described in [Export Audience Lists](#export-audience-list). ## Ad IDs {#ins-tutorial-ad-ids} Generate a list of Ad IDs for users that made a purchase. Please visit our [Ad IDs topic guide](https://www.airship.com/docs/guides/audience/ad-ids/) for use cases and technical details. > **Warning:** Your app must: > > 1. Send the *limit ad tracking* field from your app, and > 1. Not target users with ads who have *limit ad tracking* enabled. A value of > Unknown or Limit Ad Tracking = Yes or Unknown means you cannot send > ads to these users. 1. Go to *Reports » Performance Analytics*. 1. Select the *Revenue* dashboard. 1. In the *Custom Events Table* report, locate the *purchased* row and click its value in the *Event Count* column. 1. Click **Explore from Here**. 1. Make these changes in the left side menu: * In *Custom Events » Dimensions*, click the row for *Platform*. * In *User IDs » Dimensions*, click the row for *Device ID* to unselect it, and click the row for *Ad ID*. * Click **Filter** for *Limit Ad Tracking Enabled* to add the row to the Filters menu, then set the value of *is equal to* to "No." 1. Download the data as described in [Export Data](#export-data). 1. (Optional) Create a custom audience on Facebook. Follow [Facebook's instructions: Create a Customer List Custom Audience](https://www.facebook.com/business/help/170456843145568?id=2469097953376494) to create a Custom Audience or Lookalike Audience using the downloaded file. File must be in TXT or CSV format. ## Export Audience Lists {#export-audience-list} You can [segment your audience](https://www.airship.com/docs/guides/audience/segmentation/segmentation/) using an [Uploaded List](https://www.airship.com/docs/reference/glossary/#uploaded_list). First, follow these steps to download a CSV of device identifiers. Second, [upload the list of users](https://www.airship.com/docs/guides/audience/segmentation/audience-lists/uploaded/##uploading-your-list) to your project, using the file you just downloaded. This example downloads all your Daily Active Users, 1. Go to *Reports » Performance Analytics*. 1. Select the *Overview* dashboard. 1. In the *Daily Active Users* report, click its value. 1. Click **Explore from Here**. 1. Download the data as described in [Export Data](#export-data), using these values: * **File Format**: CSV * **Values**: Unformatted * **Limit**: All Results # Find In-App Impression Rate > Finding your in-app impression rate. To find the in-app impression rate, we need to add two Measures to the Messages Look.