11 Replies Latest reply on May 9, 2018 1:38 PM by Denise Greenberg

    "Ends with" Constraint

    Denise Greenberg

      In his (excellent) summit session "Under the Hood II: Tuning Batch Campaign Performance", Scott Nash recommended using an "ends with" constraint when filtering on Email Address where contains "@<email domain>" doesn't do the job because of subdomains (and where you don't want Marketo searching through zillions of emails as it would have to do with "contains <email domain>" without the "@" symbol. At the time I thought this constraint must have been added without my noticing and - to be honest - was embarrassed to have missed such a useful addition. However, there is no such constraint available in either of the Marketo instances I currently have access to. Has anyone seen this? Is it a secret feature you have to ask for?

       

      Justin Cooperman - Can you shed any light on this?

        • Re: "Ends with" Constraint
          Devraj Grewal

          Denise,

           

          I am not aware of a workaround but I know there is at least an idea: Email address filter "ends with/not ends with" option or Query Email Address by "Ends With"

            • Re: "Ends with" Constraint
              Denise Greenberg

              Hi Devraj,

               

              Yeah - I'm aware of that idea, too. The odd thing was the Marketo's VP Product Platform recommended the use of that filter constraint in his presentation. I wish I had asked him about it after the session but given his position I assumed I was wrong in thinking it didn't exist.

               

              Denise

                • Re: "Ends with" Constraint
                  Sanford Whiteman

                  The usual workaround I use (other than calling a webhook, whiich I know you also have access to) is to have a separate field -- maintained via Change Data Value -- that always contains the {{Lead.Email Address}} followed by a $. Then use

                   

                  Contains "@example.com$" or Contains ".example.com$"

                   

                  A related technical note: with a standard SQL database "ends with" isn't significantly faster than "contains" on such small strings. The only thing that would make it faster is a separate field or index that includes only the domain part (that could then be searched via an exact case-insensitive match).

                    • Re: "Ends with" Constraint
                      Denise Greenberg

                      Thank you, Sandy! I wouldn't have thought of that. In the one case where "ends with" would be useful (though sounds like it wouldn't solve the processing time issue) is where we are trying to capture all the email addresses that end with ibm.com. With these that solution would work because the email are like this: @uk.ibm.com, @de.ibm.com, etc.

                • Re: "Ends with" Constraint
                  Scott Nash

                  Denise,

                   

                  Thanks for following up. I'd based that on a conversation I'd had with an engineer, but let me double-check it.  I know there is at least one other way to do a comparison, but I'm not sure it's scalable or officially supported. 

                   

                  Give me a couple of days to follow up with the search engineer.  The only way to curb multi-contains usage (short of disabling it altogether) is to provide a reasonable alternative.  Disabling it would be throwing the baby out with the bathwater, which is something I'd like to avoid at all costs.  The answer might end up being using the @ symbol and listing out subdomains.  Let me see.

                   

                  Scott

                    • Re: "Ends with" Constraint
                      Denise Greenberg

                      Hi Scott,

                      Thank you very much for the (fast) reply. This doesn't seem to be causing us any problem but we are using this filter in a Smart List "contains: ibm.com" because we can't predict all the country abbreviations that come after the @ symbol but precede "ibm.com." My main issue was confusion as to the existence of the constraint.

                      Best,

                      Denise

                        • Re: "Ends with" Constraint
                          Scott Nash

                          One contain item is not a problem.  It's the customers that put HUNDREDS of those in.  That's what blows up Corona.

                           

                          "Contains: ibm.com" isn't perfect though.  While it might work for companies savvy enough to have one central domain, it won't work if they have ibm.co.jp also.  That's the type of stuff ABM is designed to deal with.

                           

                          Sanford is right about Ends with not being faster - see my follow-on reply summarizing my discussions with the Corona architect.

                           

                          Sanford, your syntax on the subdomain contains is interesting.  I recognize it from the regex work I've been doing with Splunk.  I'll ask the architect if that's a viable approach.

                            • Re: "Ends with" Constraint
                              Scott Nash

                              43fcb2b18e5e06a2f0872799aadb6bee09ffcf1b wrote:

                               

                              I'll ask the architect if that's a viable approach.

                              By which I mean "if that's a viable approach at high volume."

                              • Re: "Ends with" Constraint
                                Sanford Whiteman

                                Sanford, your syntax on the subdomain contains is interesting. I recognize it from the regex work I've been doing with Splunk. I'll ask the architect if that's a viable approach.

                                It's really just using regex-like syntax because that's easily recognizable. And has the advantage that a literal $ can't ever be the last character in a (publicly routable) email address, so it can be used for this purpose.

                            • Re: "Ends with" Constraint
                              Scott Nash

                              To follow up on my original response, I screwed up. I was double-checking the slides and remembered the subdomain case and added the case to the slide, along with "Ends with" based on a prior conversation with an engineer.  But I forgot to double-check the UI to make sure Ends with was a listed option.  This is why you should not make last minute additions to your presentation, no matter how good the intention. 

                               

                              I've modified the deck and removed reference to "Ends with" so the copy they distribute should be corrected.

                               

                                Of course, I couldn't just leave it there - I wanted to understand if there were other possible options.  So I went back and talked to two architects on this - one for the Corona search and engine, and one for the Campaign SmartList usage.

                               

                              1. Corona/SOLR doesn't support the "Ends with" search pattern. Sanford's post covers the reason why - it doesn't perform all that much better.
                              2. So then I decided to get creative - what if you did Batch request Trigger to tag the Lead?  Keeping in mind that I specifically warned against doing those types of things, in this case I thought the SmartList might resolve into a giant case statement.  The Campaign architect was horrified at my suggestion.  The approach would soak up a lot of memory and at scale could cause problems.

                               

                              So where does that leave subdomains?  Turns out that ABM is still the best option, because it does a combination of multiple comparisons, including IP analysis, domain parsing to handle multi-national cases, and Lead source data.

                               

                              Hope this helps.  Thanks for pointing that out - you all have forgotten more about this than I know.  I'm just trying to fill in the blanks for the areas that I know have been hidden in the past from external view.  If my material can help speed up your Campaigns, then I'm a happy camper.

                               

                              Scott

                                • Re: "Ends with" Constraint
                                  Denise Greenberg

                                  Hi Scott,

                                   

                                  Thanks again for you timely and thorough response! I appreciate it very much.

                                   

                                  Nice to know about ABM. Of course, avoiding "contains" alone wouldn't fly as a reason to purchase it. Maybe Marketo should pull some of the ABM functionality into the core product.

                                   

                                  Denise