Slate Standard Giving Portal

A portal is a great way to display information about a Giving Campaign or Giving Day, and link to giving forms and provide information about an institution's advancement and donor relationship office. 


Before getting starting, users should have the following items configured in their database:

  • Giving campaigns
  • Giving form and form communications

We also recommend that users have a good understanding of:

  • the Portal Editor
  • Liquid markup
Creating the Portal

The standard Giving portal is comprised of:

  • three queries
  • three views
  • three methods

These items can be added, edited, and deleted as needed.


The "Campaign" query pulls data about the specific giving campaign for the portal. It includes two subquery exports for the time remaining through the end of the campaign and the amount already received. 

  1. Under Queries, click the "Campaign" query.
  2. Under Filters, click the "Name" filter and select the desired campaign. Add any exports about the campaign as desired.

The "Donors" query returns the GUID of records that have recently donated to the selected campaign. 

  1. Under Queries, click the "Donors" query.
  2. Under Filters, click the "Donated to Campaign" subquery and adjust the filter to select the desired campaign. Add any additional filters desired, such as dates, etc.


The "Recent Gifts" query exports the top 10 recent gifts to the selected campaign. This populates the portal with a running list of recent gifts. 


The "Recent Gifts" query should be limited to a small number of gifts to avoid having a lengthy list on the portal.

  1. Under Queries, click the "Recent Gifts" query.
  2. Under Filters, click the "Campaign / Name" filter and select the desired campaign.
  3. Add any additional exports. Note that the name subquery export is a formula. This displays "Anonymous" if the gift is made anonymously, otherwise it will display the first name and last initial.

    Anonymous Export

case when @Gift-Anonymous = '1' then 'Anonymous' else (@Person-First 
+ ' ' + (substring(@Person-Last, 1, 1))+ '.') end

The Default view contains multiple static content parts. These can be edited as desired. However, please pay careful attention when editing the "Recent Gifts" content block, as this section uses JavaScript to pull in a separate view that refreshes the list of recent donors every 30 seconds. 

This code can be found in the source code of the content block:


<script type="text/javascript">// <![CDATA[
                FW.Lazy.Fetch("?cmd=recent_gifts", $("#recent_gifts"));
                setTimeout(function() {
                FW.Lazy.Fetch("?cmd=recent_gifts", $("#recent_gifts"));
                }, 30000);
                // ]]></script>

The ?cmd=recent_gifts refers to a method discussed later in the documentation. It is essential that the code in this view match the action of the method used to pull the list of recent gifts.


JavaScript code to refresh sections of portals should be used sparingly. 

The "Recent Gifts" view generates the list of recently received gifts. This view is displayed within the Default view. Liquid markup is leveraged in this view to calculate the percentage reached of the campaign's goal and how many gifts have been received thus far.

Liquid markup

<span style="font-family:Arial,Helvetica,sans-serif;">
<span style="color:#c0392b;">
<strong><span style="font-size:36px;">{{donors.size}}</span></strong></span>
Donors<br />
<br />
<span style="font-size:24px;"><span style="color:#c0392b;"><strong>
{% assign donor_count ={{donors.size}} %}
{% assign donor_float = donor_count | times: 1.00 %}
{{donor_float | divided_by: 2000.00 | times: 100.00}}%</strong></span></span>
&nbsp;of <span style="font-size:24px;">
<span style="color:#c0392b;"><strong>2000</strong>
</span></span> donors goal</span>


Liquid markup is best edited in the source code. This view also creates a list of recent gifts using Liquid looping.

The "Pop-Up: Giving Form" displays the giving form, allowing users to give to the campaign. The view leverages the Form widget. Be sure to select "Form is inside a popup". Here, "Reload portal" is also selected so that upon submission, the donor will automatically see their name in the recent gifts without delay.

Form Widget


The "Default" method is linked to both the Campaign so that the information about the campaign can be used as merge fields on the Default view. 

The "Recent Gifts" method is linked to both the Donors and the Recent Gifts queries, as the view needs both data regarding the number of donors and what gifts have been given recently. This method has the action of recent_gifts, which is used in the JavaScript mentioned earlier. Again, the action on this method and the cmd value in the Default view JavaScript must match.

The "Pop-up: Form" method is associated with the "Pop-up: Giving Form" view. It does not require a query, as the user will be entering in their own information.

Additional Items

We recommend that the giving form used have hidden fields to map the campaign value of the gift, as well as any other default gift settings, such as fund. 

This portal can leverage custom CSS rules to further style the portal, including adding different CSS for buttons, etc. 


Portals are the responsibility of the institution. Be sure to document your portal so that you can easily edit and maintain your portal over the years.

Was this article helpful?
0 out of 1 found this helpful