Attributing response on external site to an email message

Options
Hi all,


If I have an email message that links to an external (non-Luminate) page, does anyone know if there is any way to attribute an action taken on that external page to the email? For example, if the external page had an embeded survey, is there any way to get survey submissions to show up as response when reporting on the email message?


Happy to add in some more details if needed. Thanks!
Tagged:

Comments

  • Do you have control over that external page? Are you using Google Analytics?


    You could append Google Campaign tags (https://support.google.com/analytics/answer/1033867?hl=en) to your links. Then you can see the traffic that comes from those links. You can use the URL builder (https://ga-dev-tools.appspot.com/campaign-url-builder/) as a kickstart.


    We always tag *all* of our email links with both GA tags and Luminte source tags like this:

    Google Analytics Campaign
    utm_campaign=[campaign]-[email_interest]
    utm_source=[date]
    utm_medium=Email

    Luminate | src_campaign-tags
    s_src=[campaign]-[email_interest]
    s_subsrc=[date]_Email

    http://luriechildrens.org/index.htm?utm_campaign=move_for_the_kids-athletic_recreational&utm_source=2017-05-02&utm_medium=Email&amps_src=move_for_the_kids-athletic_recreational&s_subsrc=2017-05-02_Email

    Now that isn't going to show up in your Luminate email reports as anything more than a click. I don't know of an easy way to get external form submissions to show as LO interactions without using the API - and even then it could be tough.
  • Hey Brian — Yes, I definitely have control over the external page. Google Analytics is a good option and we've considered similar approaches using sourcing or hidden fields on the survey itself. But, it would obviously be the best of both worlds if we could get this showing up in Luminate email reports. Do you have a method in mind when using the API? I've tried a few different approaches, but haven't gotten anything to stick.
  • As long as you have full control over the external survey site, you can append constituent's email address to the external survey link within your email message:

    http://<Your-Survey-Site>/?cons_email=[[T1:[[S1:primary_email]]]]


    Then you will create LO survey that capture email address and upon the external survey successful submission, you can trigger a LO survey submission like that:

    http://<Your LO URL>/SSurvey?cons_info_component=t&denySubmit=&ACTION_SUBMIT_SURVEY_RESPONSE=Submit+Survey&SURVEY_ID=<LO Survey ID>&cons_email=<Cons Email Goes Here>
    You can trigger it either by server side curl request or client side by AJAX or even by place it as src attribute for 1px*1px img tag.


    Now from LO you can run click-through report for your message to get who clicked the survey URL. On the other hand, your LO survey reports will give you who submitted the external survey. Inner joining the two reports, will give you what you are looking for.
  • That's super interesting Romany. How is the user logged in to LO for that survey submission? Just by virtue of passing that email address? What if you allow duplicate email's in your instance? And even if that works, how is that submit associated as an action from the email? I assumed that happened by setting up a session in the encoded urls that all links turn into on LO emails.


    - B
  • It will neither login survey submission nor associate as email action. The external site just report passed email back to LO survey.


    Email reports will tell who redirected to external survey - LO survey will tell who submitted external survey.
  • Are you sure? I'm starting to wonder as I think more about it.


    "I assumed that happened by setting up a session in the encoded urls that all links turn into on LO emails."


    That's my own answer, isn't it? The user doesn't have to be logged in. (Think about it, If you forward an email to someone and they click, it registers as an action for you.) So if the encoded links are redirects that are setting up a session associated with that email and the specific LO constituent/recipient before forwarding the user on, then that session is still there for Romany's trick, even after the user leaves LO for a bit.


    The question is if Romany's survey will be aware of that session with this submit method and make all the connections.


    This feels close to the answer. I'd test this and see if the action registers.


    If it doesn't, then what if the survey was hidden with CSS and submitted by a client-side action, like jquery.click on the submit button? That would look like a funny redirect to the user.


    So user clicks, goes to external survey, that survey's thank you is a redirect to a hidden LO survey, which submits itself and shows the thank you page.


     
  • If you forward an email to someone and they click, it registers as an action for you.

    hmm - yes this is a trick to be considered. Brien, you inspire me with another scenario but with some server side development on external site:


    1. Enable email campaign autologin and create autologin link that first lands on a new LO page.

    2. The new page will have the link to external survey with additional conditional parameters for logged in user.

    <a href="http://<external survey url>/[[?x[[S1:cons_id]]x::xx::::?cons_id=[[S1:cons_id]]&hash=[[T10:[[S1:cons_id]]MY_CUSTOM_SECRET_KEY]]]]"></a>


    Two parameters here we will use to identify constituent in external site:
    cons_id: logged in constituent ID
    hash: MD5 hash for constituent ID concatenated to any secret string.

     


    You can write some jQuery to trigger the link click to auto-redirect on document ready.

     


    3. Now from external site and after survey submission, write some server site script to evaluate "cons_id" & "hash" parameters. Here is PHP sample:

     

    $secret_key = "MY_CUSTOM_SECRET_KEY";
    $cons_id = isset($_GET["cons_id"]) ? $_GET["cons_id"] : "";
    $hash = isset($_GET["hash"]) ? $_GET["hash"] : "";
    if (md5($cons_id . $secret_key) == $hash) {
    // Valid logged in constituent
    }
    For valid logged in constituent, make server API call to update constituent by adding to a LO group. This call will require "cons_id" & "add_group_ids" parameters beside common server API parameters.

Categories