Package: meltano-tap-linkedin-ads
tap-linkedin-adsSinger tap for extracting data from the LinkedIn Ads Marketing API.Built with theMeltano Singer SDK.Capabilitiescatalogstatediscoveraboutstream-mapsschema-flatteningSettingsSettingRequiredDefaultDescriptionaccess_tokenTrueNoneThe token to authenticate against the API servicestart_dateTrueNoneThe earliest record date to syncend_dateFalse2023-05-09 02:04:18.151589The latest record date to syncuser_agentFalsetap-linkedin-ads <api_user_email@your_company.com>API IDapi_versionFalse202207LinkedInAds API VersionaccountsTrueNoneLinkedInAds Account IDcampaignTrueNoneLinkedInAds Campaign IDownerTrueNoneLinkedInAds Owner IDstream_mapsFalseNoneConfig object for stream maps capability. For more information check outStream Maps.stream_map_configFalseNoneUser-defined config values to be used within map expressions.flattening_enabledFalseNone'True' to enable schema flattening and automatically expand nested properties.flattening_max_depthFalseNoneThe max depth to flatten schemas.A full list of supported settings and capabilities is available by running:tap-linkedin-ads --aboutOwnerTheownersetting is required for pulling data from the VideoAds endpoint. You can find the owner ID by making a
request to the adAccounts endpoint:https://api.linkedin.com/rest/adAccounts?q=search&start=0&count=10The owner ID can be found in the response under "reference": "urn:li:organization:{OWNER}"Installationpipxinstallgit+https://github.com/MeltanoLabs/tap-linkedin-ads.git@mainAuthenticationThe tap requires a LinkedInAds OAuth 2.0 access token to make API requestsThe access token requires the following permissions:r_ads: read adsrw_ads: read-write adsr_ads_reporting: read ads reportingAccess tokens expire after 60 days and require a user to manually authenticate
again. See theLinkedInAds API docsfor more infoUsageAdAnalytics API Column LimitationThe AdAnalytics endpoint in the LinkedInAds API can call up to 20 columns at a time, we can create child classes which have 20 columns in them, we can merge their output with get records function.SDK X-Restli-Protocol LimitationThe creatives endpoint requires X-Restli-Protocol to be set to 2.0.0. The request URL for tap-linkedin-ads uses parentheses ‘()’. '(' and ')' are typically
encoded in a request URL, but are not when the X-Restli-Protocol is 2.0.0. An SDK update for expanded escape characters is currently WIP [link github issue]Metadata Columnsadd_metadata_columns:Setting this config to 'true' adds the_SDC_BATCHED_AT,_SDC_DELETED_ATand_SDC_EXTRACTED_ATmetadata columns to the loaded tablesElastic License 2.0The licensor grants you a non-exclusive, royalty-free, worldwide, non-sublicensable, non-transferable license to use, copy, distribute, make available, and prepare derivative works of the software.Executing the Tap Directlytap-linkedin-ads--version
tap-linkedin-ads--help
tap-linkedin-ads--configCONFIG--discover>./catalog.jsonContributingThis project uses parent-child streams. Learn more about themhere.Initialize your Development Environmentpipxinstallpoetry
poetryinstallCreate and Run TestsCreate tests within thelib_tap_linkedin_ads_sdk/testssubfolder and
then run:poetryrunpytestYou can also test thetap-linkedin-adsCLI interface directly usingpoetry run:poetryruntap-linkedin-ads--helpTesting withMeltanoNote:This tap will work in any Singer environment and does not require Meltano.
Examples here are for convenience and to streamline end-to-end orchestration scenarios.Next, install Meltano (if you haven't already) and any needed plugins:# Install meltanopipxinstallmeltano# Initialize meltano within this directorycdtap-linkedin-ads
meltanoinstalltap-linkedin-adsNow you can test and orchestrate using Meltano:# Test invocation:meltanoinvoketap-linkedin-ads--version# OR run a test `elt` pipeline:meltanoelttap-linkedin-adstarget-jsonlSDK Dev GuideSee thedev guidefor more instructions on how to use the SDK to
develop your own taps and targets.