Can participants indicate when they've met a particular goal (non-financial) in Teamraiser?

Options

Hi, We are looking to setup a TeamRaiser that includes a component where the participant can check off when they have completed particular challenges/goals.  The idea is that we as an organization would issue a challenge once a month over the year and people who sign up would "pledge" that they will complete the challenges and indicate when they complete them.  They would also be looking to get financial pledges as well like a normal TeamRaiser.  I don't think TeamRaiser has this functionality but does anyone have any ideas on ways to make this work?  We envisioned it utilizing one teamraiser that would be used to track all of the challenges issued over the year.  Let me know your thoughts/ideas,

Andrew

Tagged:

Comments

  • I'd mess around with Surveys.

    The pledge could be a survey that stuck the responders in a 'participating' group. You could then use that group membership to show or hide the "I completed my pledge" survey.

    Regards, B.

  • Brian Mucha:

    I'd mess around with Surveys.

    The pledge could be a survey that stuck the responders in a 'participating' group. You could then use that group membership to show or hide the "I completed my pledge" survey.

    Regards, B.

    My idea initially was a survey PER challenge. Perhaps just a hidden field, and then a submit.

    I'd like to participate in the Tell-A-Friend challenge
    I'd like to participate in the Refer a Donor challenge
    I have completed the Sleep In Late challenge!

    So each of these is a submit button for an individual scraped survey, each will add you to a different group and then post back to the same page. You could then hide the buttons they have already clicked with an STag, and replace it with another completed button.

    I don't see how you could easily have a checklist that they kept coming back to, checking and they go along.

    Alternately, I wonder if the completing the challenge aspect could be done with accumulating X number of custom interactions, triggered by sending a tell-a-friend for instance.

    Regards, B

  • Brian Mucha:

    My idea initially was a survey PER challenge. Perhaps just a hidden field, and then a submit.

    I'd like to participate in the Tell-A-Friend challenge
    I'd like to participate in the Refer a Donor challenge
    I have completed the Sleep In Late challenge!

    So each of these is a submit button for an individual scraped survey, each will add you to a different group and then post back to the same page. You could then hide the buttons they have already clicked with an STag, and replace it with another completed button.

    I don't see how you could easily have a checklist that they kept coming back to, checking and they go along.

    Alternately, I wonder if the completing the challenge aspect could be done with accumulating X number of custom interactions, triggered by sending a tell-a-friend for instance.

    Regards, B

    There is also that Rewards / Promotions functionality. (Consitiuent360 > Rewards) I assume this isn't flexible enough for what you had in mind? I've never messed with it at all.

    Regards, B

  • Brian Mucha:

    My idea initially was a survey PER challenge. Perhaps just a hidden field, and then a submit.

    I'd like to participate in the Tell-A-Friend challenge
    I'd like to participate in the Refer a Donor challenge
    I have completed the Sleep In Late challenge!

    So each of these is a submit button for an individual scraped survey, each will add you to a different group and then post back to the same page. You could then hide the buttons they have already clicked with an STag, and replace it with another completed button.

    I don't see how you could easily have a checklist that they kept coming back to, checking and they go along.

    Alternately, I wonder if the completing the challenge aspect could be done with accumulating X number of custom interactions, triggered by sending a tell-a-friend for instance.

    Regards, B

    Thanks for the idea Brian.  I think this could work nicely!

  • Brian Mucha:

    There is also that Rewards / Promotions functionality. (Consitiuent360 > Rewards) I assume this isn't flexible enough for what you had in mind? I've never messed with it at all.

    Regards, B

    I didn't know about this rewards functionality before so I'll look into that too.  Thanks again!

  • Brian Mucha:

    My idea initially was a survey PER challenge. Perhaps just a hidden field, and then a submit.

    I'd like to participate in the Tell-A-Friend challenge
    I'd like to participate in the Refer a Donor challenge
    I have completed the Sleep In Late challenge!

    So each of these is a submit button for an individual scraped survey, each will add you to a different group and then post back to the same page. You could then hide the buttons they have already clicked with an STag, and replace it with another completed button.

    I don't see how you could easily have a checklist that they kept coming back to, checking and they go along.

    Alternately, I wonder if the completing the challenge aspect could be done with accumulating X number of custom interactions, triggered by sending a tell-a-friend for instance.

    Regards, B

    Hi Brian, I've been testing out this method and it seems that Convio only recognizes that the user has been added to the group after logging out and back in again.  I've got the survey redirecting back to the page with the buttons but the button that was clicked is still showing at that point.  If I log out and back in then it shows the "I have completed" version of the button.  Do you know of a way to get it to refresh right away?

    Andrew

  • Andrew MacKay:

    Hi Brian, I've been testing out this method and it seems that Convio only recognizes that the user has been added to the group after logging out and back in again.  I've got the survey redirecting back to the page with the buttons but the button that was clicked is still showing at that point.  If I log out and back in then it shows the "I have completed" version of the button.  Do you know of a way to get it to refresh right away?

    Andrew

    Well, that's a bummer. Going to complicate matters.

    What if you also drop a cookie, and then use JS to hide the section if the cookie is detected?

    I do something like this with my Teamraisers. If the visitor selects a 'donate' link I save a cookie with their 'role' and use it to hide all the participant-only links in the subnavigation, such as training tips and all that.

    You could do something similar, so that the button hides immediately. Then also use the group membership, so that it is still hidden if they revisit on a different machine (or clear cookies.)

    Regards, Brian

    Here's a link where I use this method. http://www.childrensmemorial.org/dancemarathon

    Here's the code to save the cookie.


    <script type="text/javascript">
    <!--
    createCookie('DanceMarathonRole','Donor',30)
    -->
    </script>

    Here's how to use it to hide stuff.

    <script type="text/javascript">

    <!--

        var partRole = readCookie('DanceMarathonRole')

        if (partRole=='Participant') {

            document.getElementById('Donor').className = 'DisplayHidden';

            document.getElementById('DonorLink').className = 'DisplayHidden';

            document.getElementById('Participant').className = 'DisplayBlock';

            document.getElementById('ParticipantLink').className = 'DisplayBlock';

        } else {

            document.getElementById('Donor').className = 'DisplayBlock';

            document.getElementById('DonorLink').className = 'DisplayBlock';

            document.getElementById('Participant').className = 'DisplayHidden';

            document.getElementById('ParticipantLink').className = 'DisplayHidden';

        }

    -->

    </script>

    Here's the Javascripts that the above references. I put these in an external JS file.


    function createCookie(name,value,days) {
    if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
    }

    function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
    var c = ca;
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
    }

    And finally there are a couple of styles that I use.



    .DisplayHidden

    {

        display: none;

    }


    .DisplayBlock

    {

        display: block;

    }

  • Brian Mucha:

    Well, that's a bummer. Going to complicate matters.

    What if you also drop a cookie, and then use JS to hide the section if the cookie is detected?

    I do something like this with my Teamraisers. If the visitor selects a 'donate' link I save a cookie with their 'role' and use it to hide all the participant-only links in the subnavigation, such as training tips and all that.

    You could do something similar, so that the button hides immediately. Then also use the group membership, so that it is still hidden if they revisit on a different machine (or clear cookies.)

    Regards, Brian

    Here's a link where I use this method. http://www.childrensmemorial.org/dancemarathon

    Here's the code to save the cookie.


    <script type="text/javascript">
    <!--
    createCookie('DanceMarathonRole','Donor',30)
    -->
    </script>

    Here's how to use it to hide stuff.

    <script type="text/javascript">

    <!--

        var partRole = readCookie('DanceMarathonRole')

        if (partRole=='Participant') {

            document.getElementById('Donor').className = 'DisplayHidden';

            document.getElementById('DonorLink').className = 'DisplayHidden';

            document.getElementById('Participant').className = 'DisplayBlock';

            document.getElementById('ParticipantLink').className = 'DisplayBlock';

        } else {

            document.getElementById('Donor').className = 'DisplayBlock';

            document.getElementById('DonorLink').className = 'DisplayBlock';

            document.getElementById('Participant').className = 'DisplayHidden';

            document.getElementById('ParticipantLink').className = 'DisplayHidden';

        }

    -->

    </script>

    Here's the Javascripts that the above references. I put these in an external JS file.


    function createCookie(name,value,days) {
    if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
    }

    function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
    var c = ca;
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
    }

    And finally there are a couple of styles that I use.



    .DisplayHidden

    {

        display: none;

    }


    .DisplayBlock

    {

        display: block;

    }

    Perhaps instead of displaying or hiding things by swapping the class like I do, you could change the innerHtml of the erroneous live button and disable it.

    ]

    Regards, Brian

    // Note: Apparently changing a button's text is a tad harder than above.

    // http://www.permadi.com/tutorial/jsInnerHTMLDOM/index.html

  • Brian Mucha:

    Well, that's a bummer. Going to complicate matters.

    What if you also drop a cookie, and then use JS to hide the section if the cookie is detected?

    I do something like this with my Teamraisers. If the visitor selects a 'donate' link I save a cookie with their 'role' and use it to hide all the participant-only links in the subnavigation, such as training tips and all that.

    You could do something similar, so that the button hides immediately. Then also use the group membership, so that it is still hidden if they revisit on a different machine (or clear cookies.)

    Regards, Brian

    Here's a link where I use this method. http://www.childrensmemorial.org/dancemarathon

    Here's the code to save the cookie.


    <script type="text/javascript">
    <!--
    createCookie('DanceMarathonRole','Donor',30)
    -->
    </script>

    Here's how to use it to hide stuff.

    <script type="text/javascript">

    <!--

        var partRole = readCookie('DanceMarathonRole')

        if (partRole=='Participant') {

            document.getElementById('Donor').className = 'DisplayHidden';

            document.getElementById('DonorLink').className = 'DisplayHidden';

            document.getElementById('Participant').className = 'DisplayBlock';

            document.getElementById('ParticipantLink').className = 'DisplayBlock';

        } else {

            document.getElementById('Donor').className = 'DisplayBlock';

            document.getElementById('DonorLink').className = 'DisplayBlock';

            document.getElementById('Participant').className = 'DisplayHidden';

            document.getElementById('ParticipantLink').className = 'DisplayHidden';

        }

    -->

    </script>

    Here's the Javascripts that the above references. I put these in an external JS file.


    function createCookie(name,value,days) {
    if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
    }

    function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
    var c = ca;
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
    }

    And finally there are a couple of styles that I use.



    .DisplayHidden

    {

        display: none;

    }


    .DisplayBlock

    {

        display: block;

    }

    Thanks Brian - I'll give these ideas a try!

Categories