Skip to main content
Contributor I
Jun 13, 2024 12:02 AM UTC
Solved

Double Opt-In not receiving opt-in email

We've set up an Oauth integration and all seems to be working well except one detail - users who sign up on double opt-in aren't receiving their opt-in emails. I've tested with a demo brand I've set up but haven't received the email for any recent signups when having double opt-in selected, and so the users are stuck in a "never subscribed" state. If using single opt-in, the user is subscribed to email marketing correctly.

Some more details:
- We first create a profile, then hit the subscribe profiles endpoint to opt them into email marketing

- We're using the klaviyo-api node package

- The oauth app has these permissions: events:read events:write profiles:read profiles:write lists:read lists:write subscriptions:read subscriptions:write

    This topic has been closed for replies.
    Kim Strauch
    Klaviyo Employee
    Jun 27, 2024 9:58 PM UTC

    @jackson.aisle, thanks for the update. I think this might be a case of IP blocking / list bombing. Do you mind filing a ticket with support to get assistance on this? 

    11 replies

    Brian Turcotte
    Klaviyo Alum
    Jun 14, 2024 3:46 PM UTC

    Hey @jackson.aisle!

    May I ask how you’re testing this? Is it possible that the double opt-in emails are being sent to spam? Also, how are you able to determine those who aren’t receiving the emails, and those who just haven’t accepted yet?

     

    - Brian

    Contributor I
    Jun 17, 2024 4:02 PM UTC

    I’m testing on a local development server. Messages aren’t going to spam - it seems like my IP has been blocked by klaviyo though because it works as expected when ran from my coworker’s machine.

    retention
    Partner - Platinum
    2025 Champion
    Jun 17, 2024 4:12 PM UTC

    @jackson.aisle - Also, it may be because you can only be subscribed to the same List exactly once.  Did you make sure to either try a different email address each time? You can use the Gmail “+” hack to create “new” email addresses on the fly for testing.  

    Joseph Hsieh // retentioncommerce.com // X: @retention
    Contributor I
    Jun 17, 2024 8:05 PM UTC

    Yes, I’ve tried different emails and even using coworker’s emails to sign up. Also, looks like I was wrong about it working from my coworker’s machine - he didn’t receive his email either, but his profile was created and he is marked as never subscribed

    Partner
    Jun 18, 2024 2:19 AM UTC

    Hello @jackson.aisle  Could you please share the sample payload used to subscribe profile?

    Are you linking the profiles to a list when subscribing them?

    https://theforms.pro
    Contributor I
    Jun 18, 2024 4:25 PM UTC

    No list. I’m calling it like this
     

    await profilesApi.subscribeProfiles({
    data: {
    type: "profile-subscription-bulk-create-job",
    attributes: {
    profiles: {
    data: [
    {
    type: "profile",
    id: profileId,
    attributes: {
    email,
    subscriptions: {
    email: {
    marketing: {
    consent: "SUBSCRIBED",
    consentedAt: new Date(),
    },
    },
    },
    },
    },
    ],
    },
    },
    },
    })

     

    Kim Strauch
    Klaviyo Employee
    Klaviyo Employee
    Jun 24, 2024 2:22 PM UTC

    Hey @jackson.aisle, can you share which revision of the API you’re using for this request? 

    Also, would you be able to remove the consentedAt field from your request payload and let us know if that changes anything? This field is meant only for capturing historical consent so there isn’t a real use case to set it to the current datetime. 

    Contributor I
    Jun 26, 2024 10:25 PM UTC

    Removing `consentedAt` doesn’t seem to have an effect.

    I’m testing now and things seem to be working as expected after a fresh deploy (caller is deployed to Google Cloud Functions). I’m wondering if this could have been due to a temporary outage or IP block?

    Kim Strauch
    Klaviyo Employee
    Klaviyo Employee
    Jun 27, 2024 9:58 PM UTC

    @jackson.aisle, thanks for the update. I think this might be a case of IP blocking / list bombing. Do you mind filing a ticket with support to get assistance on this? 

    Contributor I
    Jun 28, 2024 10:31 PM UTC

    I can’t file a ticket because apparently that is not doable without a paid plan