Attribute revenue with Stripe Checkout API

  • Pass metadata with
    insightly_visitor_id
    and
    insightly_session_id
    (cookies from DataFast) when creating a checkout session:
  • // app/api/create-checkout/route.js
    import { cookies } from 'next/headers';
    
    export async function POST() {
      const cookieStore = cookies();
      // If you're using Next.js 15+, use this instead:
      // const cookieStore = await cookies();
      
      const session = await stripe.checkout.sessions.create({
        line_items: [...],
        mode: 'payment',
        metadata: {
          insightly_visitor_id: cookieStore.get('insightly_visitor_id')?.value,
          insightly_session_id: cookieStore.get('insightly_session_id')?.value
        }
      });
      
      return new Response(JSON.stringify({ sessionId: session.id }), {
        status: 200,
        headers: { 'Content-Type': 'application/json' }
      });
    }

    Once connected and metadata is properly passed, DataFast will automatically attribute revenue to the correct marketing channels. No webhook setup is required.