{"utm_mapping":{"_comment":"SPECIFIC VALUE MAPPINGS - Explicit mappings for known utm_source and utm_campaign values","_purpose":"Takes priority over default mappings when an exact value match exists","_note":"These are specific campaign or source values that require custom source code assignment","utm_source":{"google":"google","googleorganic":"googleorganic","meta":"facebook","direct":"direct","nyt":"nyt","zillow":"zillow","mailchimp":"mailchimp"},"utm_campaign":{"120214869584830405":"fb","2025-05-01 00:00:00":"mailchimp","5.21":"yimby","Combined-Search-Brand":"google","Condo-Display-Targeted-In-Market-Placements":"google","Condo-Search-Competitors-Williamsburg":"google","Condo-Search-Geo-NYC":"google","Condo-Search-Geo-Williamsburg-BM":"google","Rental-Search-Competitors-Brooklyn-BM":"google","Rental-Search-Geo-Brooklyn":"google","Rental-Search-Geo-Williamsburg":"google","amenity":"zillow","fb-broker-leads-targeting-condos":"social","fb-retargeting-condos":"social","fb-retargeting-rentals":"social","fb-targeting":"social","fb-targeting-condos":"social","fb-targeting-rentals":"social","ig-retargeting-rentals":"social","ig-targeting":"social","ig-targeting-condos":"social","ig-targeting-rentals":"social","interior":"zillow","locations":"ppc","meta_targeting_condos":"meta","test_sale":"meta","{{site_source_name}}-retargeting-condos":"social","{{site_source_name}}-retargeting-condos-":"social","{{site_source_name}}-retargeting-rentals":"social"},"medium":{"_comment":"STAGE 1: Transform utm_medium URL parameter values to internal standardized values","_purpose":"Used by BOTH Nestio (rentals) and Spark (condos)","_example":"URL has ?utm_medium=boost → internal medium=zillow","_note_nestio":"For Nestio: After transformation, use nestio_classification section to map to source_type","_note_spark":"For Spark: The transformed value is sent directly to Spark API","-targeting":"paid","boost":"zillow","broker-leads-targeting":"paid","geo":"geo","lead-retargeting":"paid","leads-retargeting":"paid","leads-retargeting-markoreel":"paid","leads-retargeting-matreel":"paid","leads-targeting":"paid","leads-targeting-markoreel":"paid","leads-targeting-matreel":"paid","paid":"paid","paid_social":"paid","googleorganic":"organic","nytflexframe":"nytflexframe","zillowboost":"zillowboost","zillowlisting":"zillowlisting","metapaid":"paid_social","referral":"referral","instagramorganic":"organic","googlebusiness":"gbp","email":"email","websitelive":"live","cityrealtydedicatedeblast":"email","jerseydigssponsored":"sponsored","metareferral":"organic","omgemail":"email","fbigpaid":"paid_social","omgaemail":"email","yahooorganic":"organic","ttreferral":"referral","googleadsreferral":"referral","iterableemail":"email","printurl":"url","twitterreferral":"referral","chatgptreferral":"referral","duckduckgoorganic":"organic","streeteasyreferral":"referral","ideaworkemail":"email","dadagoldbergreferral":"referral","dans_paperprint":"print"}},"default_mappings":{"_comment":"DEFAULT TRACKING PARAMETER MAPPINGS - Fallback mappings for advertising platform tracking identifiers","_purpose":"Provides default source codes for dynamically-generated tracking parameters from ad platforms","_usage":"Used when tracking parameter is present but not explicitly mapped in specific_mappings","_note":"Tracking parameters are unique per click and cannot be pre-mapped individually","_can_be_overridden":"Specific values can be overridden in specific_mappings if needed","gclid":{"default":"googleppc","description":"Google Click Identifier - dynamically generated parameter for Google Ads clicks. Maps to Google PPC source.","medium":"cpc"},"gbraid":{"default":"googleppc","description":"Google Conversion Braiding Identifier - used for iOS app conversion measurement. Maps to Google PPC source.","medium":"cpc"},"wbraid":{"default":"googleppc","description":"Google Web-to-App Conversion Braiding Identifier - used for web-to-app conversion measurement. Maps to Google PPC source.","medium":"cpc"},"fbclid":{"default":"fb","description":"Facebook Click Identifier - dynamically generated parameter for Facebook Ads clicks. Maps to Facebook source.","medium":"paid_social"},"msclkid":{"default":"bingppc","description":"Microsoft Click Identifier - dynamically generated parameter for Microsoft/Bing Ads clicks. Maps to Bing PPC source."},"ttclid":{"default":"tiktok","description":"TikTok Click Identifier - dynamically generated parameter for TikTok Ads clicks. Maps to TikTok source."},"li_fat_id":{"default":"linkedin","description":"LinkedIn First-Party Ad Tracking Identifier - used for LinkedIn Ads conversion tracking. Maps to LinkedIn source."},"epik":{"default":"pinterest","description":"Pinterest Enhanced Match Identifier - used for Pinterest Ads conversion tracking. Maps to Pinterest source."},"ScCid":{"default":"snapchat","description":"Snapchat Click Identifier - dynamically generated parameter for Snapchat Ads clicks. Maps to Snapchat source."},"rdt_cid":{"default":"reddit","description":"Reddit Click Identifier - dynamically generated parameter for Reddit Ads clicks. Maps to Reddit source."}},"nestio_lead_source_mapping":{"325kent":"1DSQ Website","onesouthfirst":"1DSQ Website","twotreesny":"1DSQ Website","ppcgeo":"GeoTargeting","googlebusiness":"Google Business Profile (GBP)","metaorganic":"Meta Paid","metapaid":"Meta Paid","social":"Social Media","instagramorganic":"Facebook","fb":"Facebook","facebook":"Facebook","meta":"Facebook","instagram":"Instagram","linkedin":"Social Media","google":"Google Business Profile (GBP)","googleppc":"Google PPC","googleorganic":"Google Organic","ppc":"Paid Search","bingorganic":"Bing.com","bing":"Bing.com","bingppc":"Paid Search","tiktok":"Social Media","pinterest":"Social Media","snapchat":"Social Media","reddit":"Social Media","nytflexframe":"NYTimes","nyt":"NYTimes","zillow":"Zillow","zillowboost":"Zillow","zillowlisting":"Zillow","mailchimp":"E-blast","yimby":"Other","cityrealtydedicatedeblast":"City Realty","jerseydigssponsored":"Jersey Digs","metareferral":"Meta Organic","omgemail":"E-blast","fbigpaid":"Meta Paid","omgaemail":"E-blast","yahooorganic":"Yahoo.com","ttreferral":"TT Referral","googleadsreferral":"Google","iterableemail":"E-blast","printurl":"Print Ads","twitterreferral":"1DSQ Website","chatgptreferral":"ChatGPT","duckduckgoorganic":"1DSQ Website","streeteasyreferral":"StreetEasy","ideaworkemail":"E-blast","dadagoldbergreferral":"1DSQ Website","dans_paperprint":"1DSQ Website","youtubereferral":"1DSQ Website"},"spark_source_mapping":{"325kent":"Site Referral","onesouthfirst":"Site Referral","twotreesny":"Site Referral","ppcgeo":"PPC Geo Campaign","googlebusiness":"Google Business Profile","nytflexframe":"NYT FlexFrame","metaorganic":"Facebook / Instagram Organic","social":"Social Media","fb":"Meta","facebook":"Meta","meta":"Meta","instagram":"Meta","linkedin":"LinkedIn","nyt":"NYTimes","google":"Google","googleppc":"Google PPC","googleorganic":"Google Organic","ppc":"PPC","bing":"Bing","bingppc":"Bing PPC","bingorganic":"Bing Organic","tiktok":"TikTok","pinterest":"Pinterest","snapchat":"Snapchat","reddit":"Reddit","instagramorganic":"Facebook / Instagram Organic","metapaid":"Facebook / Instagram Paid","zillow":"Zillow","zillowboost":"Zillow Boost","zillowlisting":"Zillow Listing","mailchimp":"Email Marketing","yimby":"YIMBY","cityrealtydedicatedeblast":"CityRealty Email","jerseydigssponsored":"Jersey Digs Sponsored","metareferral":"Facebook / Instagram Organic","omgemail":"OMG Broker Email","fbigpaid":"Facebook / Instagram Paid","omgaemail":"OMG Email","yahooorganic":"Yahoo Organic","ttreferral":"Site Referral","googleadsreferral":"Google Ads Referral","iterableemail":"StreetEasy Email","printurl":"Print","twitterreferral":"Twitter Referral","chatgptreferral":"ChatGPT Referral","duckduckgoorganic":"DuckDuckGo Organic","streeteasyreferral":"StreetEasy Referral","ideaworkemail":"Prospect Eblast","dadagoldbergreferral":"PR Referral","dans_paperprint":"Dans Paper Print","youtubereferral":"YouTube Referral"},"medium_value_mapping":{"_comment":"STAGE 1: Transform utm_medium URL parameter values to internal standardized values","_purpose":"Used by BOTH Nestio (rentals) and Spark (condos)","_example":"URL has ?utm_medium=boost → internal medium=zillow","_note_nestio":"For Nestio: After transformation, use nestio_classification section to map to source_type","_note_spark":"For Spark: The transformed value is sent directly to Spark API","-targeting":"paid","boost":"zillow","broker-leads-targeting":"paid","geo":"geo","lead-retargeting":"paid","leads-retargeting":"paid","leads-retargeting-markoreel":"paid","leads-retargeting-matreel":"paid","leads-targeting":"paid","leads-targeting-markoreel":"paid","leads-targeting-matreel":"paid","paid":"paid","paid_social":"paid","googleorganic":"organic","nytflexframe":"nytflexframe","zillowboost":"zillowboost","zillowlisting":"zillowlisting","metapaid":"paid_social","referral":"referral","instagramorganic":"organic","googlebusiness":"gbp","email":"email","websitelive":"live","cityrealtydedicatedeblast":"email","jerseydigssponsored":"sponsored","metareferral":"organic","omgemail":"email","fbigpaid":"paid_social","omgaemail":"email","yahooorganic":"organic","ttreferral":"referral","googleadsreferral":"referral","iterableemail":"email","printurl":"url","twitterreferral":"referral","chatgptreferral":"referral","duckduckgoorganic":"organic","streeteasyreferral":"referral","ideaworkemail":"email","dadagoldbergreferral":"referral","dans_paperprint":"print"},"medium_to_source_type_mapping":{"_comment":"STAGE 2: Classify medium values into Nestio's strict source_type categories","_purpose":"Maps medium values to Nestio's source_type field","_lookup_order":"Two-stage lookup: (1) Pre-transformation utm_medium value, (2) Post-transformation internal medium value","_input":"Accepts BOTH raw utm_medium values (e.g., 'websitelive', 'boost') AND transformed internal values (e.g., 'paid', 'organic', 'zillow')","_output":"Returns 'paid', 'organic', or null for Nestio's source_type field","_priority":"Pre-transformation values are checked FIRST. If not found, falls back to post-transformation values.","_example_1":"utm_medium=websitelive → Finds 'websitelive' directly in this section → Returns 'paid'","_example_2":"utm_medium=boost → Not found pre-transform → Transforms to 'zillow' → Finds 'zillow' in this section → Returns 'paid'","_note":"Values not listed here will be sent as null to Nestio","_requirement":"Nestio requires source_type to be blank, 'paid', or 'organic' only","geo":"paid","paid_social":"paid","gbp":"paid","zillowboost":"paid","zillowlisting":"paid","paid":"paid","cpc":"paid","ppc":"paid","cpm":"paid","cpv":"paid","cpp":"paid","display":"paid","retargeting":"paid","shopping":"paid","banner":"paid","paidsearch":"paid","social_paid":"paid","video_ad":"paid","affiliate":"paid","influencer":"paid","sponsored":"paid","native":"paid","meta_paid":"paid","google_paid":"paid","instagramorganic":"organic","organic":"organic","googleorganic":"organic","referral":"organic","social":"organic","email":"organic","direct":"organic","newsletter":"organic","push":"organic","sms":"organic","qr":"organic","blog":"organic","community":"organic","app":"organic","offline":"organic","podcast":"organic","google_business":"organic","zillow":"paid","nytflexframe":"paid","websitelive":"paid","live":"paid","cityrealtydedicatedeblast":"paid","jerseydigssponsored":"paid","metareferral":"organic","fbigpaid":"paid","omgaemail":"paid","yahooorganic":"organic","googleadsreferral":"paid","iterableemail":"paid","printurl":"paid","twitterreferral":"paid","chatgptreferral":"organic","duckduckgoorganic":"organic","streeteasyreferral":"paid","ideaworkemail":"paid","dadagoldbergreferral":"paid","dans_paperprint":"paid"},"source_priority":[{"param":"gclid","field":"utm_gclid"},{"param":"gbraid","field":"utm_gbraid"},{"param":"wbraid","field":"utm_wbraid"},{"param":"fbclid","field":"utm_fbclid"},{"param":"medium","field":"utm_medium"},{"param":"source","field":"utm_source"},{"param":"campaign","field":"utm_campaign"}],"utm_parameters":{"description":"Defines all UTM parameters captured from URLs, stored in cookies, and tracked in forms. This is the single source of truth for which UTM parameters are collected throughout the application.","parameters":[{"name":"utm_source","description":"Identifies which site or platform sent the traffic (e.g., google, facebook, newsletter)"},{"name":"utm_medium","description":"Identifies the marketing medium (e.g., cpc, email, social, organic)"},{"name":"utm_campaign","description":"Identifies a specific product promotion or strategic campaign (e.g., spring_sale, grand_opening)"},{"name":"utm_content","description":"Identifies what specifically was clicked to bring the user to the site (e.g., logolink, textlink, or used for A/B testing)"},{"name":"gclid","description":"Google Click Identifier - auto-generated parameter for Google Ads clicks, used for conversion tracking"},{"name":"gbraid","description":"Google Conversion Braiding Identifier - used for iOS app conversion measurement and privacy-preserving attribution"},{"name":"wbraid","description":"Google Web-to-App Conversion Braiding Identifier - used for web-to-app conversion tracking"},{"name":"fbclid","description":"Facebook Click Identifier - auto-generated parameter for Facebook Ads clicks, used for conversion tracking"},{"name":"utm_id","description":"Google Campaign ID - used to uniquely identify a specific ad campaign"},{"name":"full_url","description":"Full landing URL - captures the complete URL the user first landed on"}]},"ppc_parameters":["gclid","gbraid","wbraid","fbclid"]}