Utilize the Private URL widget to create your own custom widget! With this widget, you can hook your dashboards up to almost any data source on the web. This is an alternative to our GoogleSheets or CSV Widget.
Benefits of using the Private URL widget are: you'll always have a backup copy of your data, users can't accidentally delete your data, you don't have to run crons, and gives you the added flexiblity of choosing the chart-type (pie, list, cohort, area, etc.).
In This Article:
Private URL:
Introduction
Cyfe can visualize a dynamically created CSV on your website; connect to your databases, systems, and other third party services. You can export data from a platform not supported in Cyfe, and point that data (after matching required Cyfe format) to a URL endpoint.
- To pull in data to Cyfe, you'll add the Private URL widget and paste the URL endpoint in the widget.
The data format of the CSV must match Cyfe chart type requirements. Take a look at two examples below - the format of the CSV for chart_type = Table and chart_type = Gauge are different:
Important Information (Troubleshooting)
- Endpoint must be https, not http.
- IP is not static. Allow app.cyfe.com through firewall/other protections.
- Output data should be in CSV format. Example: https://www.cyfe.com/custom-example/
Overview of Steps
Step 1: Determine the Chart type you want visualized in Cyfe
- Line, bar, pie, cohort, etc.
Why is determining "Chart type" Step 1?
How values are formatted determines the Chart Type. For example, if you choose 'Funnel' chart type in the Cyfe Widget, but if the CSV is not formatted according to requirements necessary to create 'Funnel' graph, your data will not be visualized.
Step 2: Format Data available at endpoint
- Data format available at endpoint must match the format of the chart type selected
- Each row must be a comma separate list of values
- You can dynamically create the CSV file or utilize your favorite programming language such as PHP or ASP and host it on your website
Step 3: Configure Private URL Widget within your Cyfe Dashboard
- The widget connects only to http urls.
Step 1: Determine Chart Type
The following Chart Types are available:
Line | |
Line | |
Spline | |
Area | |
Area | |
Area-Spline | |
Stacked Area | |
Column | |
Column | |
Stacked Column | |
Stacked Percentage Column | |
Bar | |
Bar | |
Stacked Bar | |
Pie | |
Pie | |
Donut | |
Other | |
List | |
Funnel | |
Table | |
Gauge | |
Number | |
Cohort | |
Gantt |
After determining the type of chart you want to use, the data you want to visualize must match the format of the chart type.
Step 2: Formatting Data
Labels (required)
- Specify what labels you would like to use for your metrics. This is the first row of your data (headers)
- You can also specify the type of values your labels will represent (i.e. dollar amount, percentage, time) by appending "($)", "(%)", or ""(:)" at the end of each label:
Date,Revenue($),Users,Activity Level(%)
- If you would like to take advantage of historical data (date feature in Cyfe - i.e. data range selection or custom date range), the first value must always be "Date". Some graph types, like a Funnel Graph, don't require the "Date" parameter.
Data
- Starting from the second row, append a list of values for your metrics starting with the date (YYYYMMDD) as the first value in each row (depending on Graph Type)
Example:
Customizing Format (Rules)
Custom Format
Optional | Description | |
Labels | No | Required. Specify what labels you would like to use. |
Data | No | Required. Starting from the 2nd row, append list of values for your metrics starting with the date (YYYYMMDD) as the first value in each row |
Colors | Yes |
You can use your own color scheme for your metrics by appending a row of hexadecimal color codes to the end of your list. The first value in this row must always be “Color” Colors,#ffc15a, #000000
|
color | Yes | ^ if you want to use just one color, |
Cumulative | Yes |
Use this row to indicate whether you would like to see cumulate values for particlar metrics in the widget header. The first value in this row must always be “Cumulative”. Use the values “0” or “1” to indicate which metric to cumulate values for: Cumulative,1,0,0,0
|
Average | Yes |
Use this row to indicate whether to display averages for particular metrics in the widget header. The first value in this row must always be “Average”. Use the values “0” or “1” to indicate which metric to average Average,1,0,0,0
|
Total | Yes |
If you use “Date” as the first column label in your data, by default the widget will automatically calculate the averages for percentage based metrics or the sums for all other metrics based on the current time period and display them in the widget header. This row enables you to overwrite these values in the widget header. The first value in this row must always be “Total” Total,542,23,42,49
|
Comparison | Yes |
If you use “Date” as the first column label in your data, by default the widget will automatically calculate percent changes for each metric by comparing the current time period against the last based on the current time period and display it in the widget header. This row enables you to overwrite these values in the widget header. The first value in this row must always be “Comparison”: Comparison,-10,50,42,0
|
Reverse | Yes |
Use this row to indicate whether high values are good or bad for particlar metrics (e.g. high “unlikes” count on Facebook is bad). This row is used to calculate percent differences (comparisons) in the widget header. The first value in this row must always be “Reverse”. Use the values “0” or “1” to indicate which metric to reverse Reverse,1,0,0,0
|
ReverseGraph | Yes |
|
YAxis | Yes |
|
YAxisMin | Yes |
|
YAxisMax | Yes |
|
YAxisShow | Yes |
|
LabelShow | Yes |
|
Formatting Data by Chart Type (Examples)
Pie/Donut:
plan 1, plan 2, plan 3 |
![]() |
List:
Sales Rep, Revenue($) |
![]() |
Funnel:
Type, Count |
![]() |
Table:
Sales Rep,Revenue($),Sales |
![]() |
Gauge:
Revenue($),Target |
![]() |
Number:
Revenue($) |
![]() |
Cohort:
Month,Sign Ups,1,2,3,4,5,6 |
![]() |
Gantt:
Event,Start Date,End Date |
![]() |
Dynamic Dates/Data & the X-Axis
The data itself with Private URL could be as dynamic as you like. The only thing to remember is that if you use the "Date" label for the first column of your data and pass in daily dates (e.g.YYYYMMDD) then your widgets will be in sync with your dashboard's date range and Cyfe will automatically calculate certain values in the widget header.
Additional Notes:
- You can then add the {date_start} and {date_end} merge tags to your Private URL (e.g. http://www.yourdomain.com/script?start_date={date_start}&end_date={date_end})
- The merge tags will be automatically replaced by the respective dates in YYYYMMDD format when your URL is loaded. You can use these tags to generate dynamic content that respects the dashboard date range feature.
- Every time a user wants to view data for a specific date range, Cyfe will call your script with that date range in the URL so your script can output the appropriate data for THAT time period.
If you don't use "Date" as the first column of your data:
- If you use any other label for the first column of your data, then Cyfe will simply create a chart for you, put the first column's data on the x-axis and the other columns on the y-axis.
- For example, this would work just fine -- in this case, the X-axis would be the minutes BUT it wouldn't respect the date picker in the top right. But with the Merge Tags in the URL above, you'd still be able to respect the date picker.
- Minute,Events
- 12:00 AM,56
- 12:01 AM,10
- For example, this would work just fine -- in this case, the X-axis would be the minutes BUT it wouldn't respect the date picker in the top right. But with the Merge Tags in the URL above, you'd still be able to respect the date picker.
Step 3: Configuring Widget within Cyfe
How to Configure:
- Add Widget and Click on "Configure Widget."
- Enter the following information:
- Widget Title: Title you would like displayed for the widget.
- Chart Type: Select how you want the data to display.
- Private URL: Provides access to the data you want to display.
- Refresh Rate: Select how often you want the link to refresh.
- Select "Save Widget."
Unable to Process Request?
If you see the error, "...can't process request" after selecting "Save Widget", see "Important Information (Troubleshooting)" above.
Security with Private URL
- For additional security, you can lock down your private URL with a Custom Key, which is found in your Settings (https://app.cyfe.com/settings/dashboard/customkey)
- You could also generate URLs with their own keys like this: https://demo.yourcompany.com/integration/url/694?data=customers&start={date_start}&end={date_end}&key=f7897fg654dg987h65g7h6d5h6987
- That way the user never has to worry about the whole custom key aspect and copy/pasting it in two different places. It's one less step in the process. Also, allow them to reset the URLs with a click of a button in case the URLs are leaked accidentally.
Examples of Private URL Use
Like the GoogleSheets and CSV Widget, the Private URL widget is used to create a custom widget. For example, some of our customers export data from a platform not supported in Cyfe, and point that data (after matching required Cyfe format) to a URL endpoint. The Private URL widget is then used to visualize that data:
Sales Team Activity
CS Churn
Track Sales Goals, Payments, and Customer Journey
Comments
0 comments
Please sign in to leave a comment.